Я работаю над разработкой приложения с использованием express/nodejs. Это то, что мой routes/index.js
файл выглядит, как вы можете видеть, что я пытаюсь включить sidebar
модуль и получить доступ к нему в index
зрения:Эксплуатация базового модуля в представлении
var express = require('express');
var router = express.Router();
var sidebar = require('./modules/sidebar');
router.get('/', function(req, res){
res.render('index');
});
module.exports = router;
это то, что мой routes/modules/sidebar.js
выглядит следующим образом:
module.exports.showSystemMenu = function(){
var elem = document.getElementsByClassName('app-settings-wrapper')[0];
elem.classList.toggle('app-settings-wrapper-exposed');
}
на мой взгляд (index
), когда я пытаюсь получить доступ к функции модуля, я получаю сообщение об ошибке, что showSystemMenu
не функция:
$scope.showSystemSelect = sidebar.showSystemMenu();
Я ценю любые разъяснения относительно того, почему я получаю эту ошибку и как ее решить.
Заранее благодарен!
В зависимости от того, как визуализируется представление 'index', вы можете использовать:' res.render ('index', {sidebar: sidebar}); '. Если представление отображается на стороне сервера, это обеспечит «боковую панель» как «локальную» переменную с тем же именем. Однако, если он отображается на стороне клиента, поскольку может использоваться предложение '$ scope', тогда стороне клиента' sidebar.js' нужно будет обслуживать - ''. Обратите внимание, что 'module.exports' не существует на стороне клиента. –