我想分享socket.io
到我的财产,不知道为什么它不工作...原型模式创建新的属性
我的第一个文件,MessageController.js
:
function MessageController() {
};
MessageController.prototype.io = "";
MessageController.prototype.sendMessageAction = function (req, res) {
console.log(this.io);
}
module.exports = new MessageController();
在另一个文件router.js
我有像这样:
var messageController = require('./controllers/MessageController');
module.exports = function (expressApp, router, io) {
console.log(io);
messageController.io = io;
router.post('/dashboard/message', messageController.sendMessageAction);
return router;
};
这里是我需要router.js
:
module.exports = function (expressApp, io) {
var router = system.express.Router();
router = require('./dashboard/router.js')(expressApp, router, io);
return router;
};
而当我呼叫路线this.io
财产返回undefined
任何人都知道什么是问题?
它看起来像你可能它router.js 尝试被设置为undefined : module.exports =功能(expressApp,路由器,IO){ 的console.log(IO); // undefined .... }; –
这不是bacause udefined,我取代'io'用字符串,但同样的结果... – Vladimir
你router.js 设置之前,取而代之的是你尝试登录它,就像我建议? –