我想分享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 設置之前,取而代之的是你嘗試登錄它,就像我建議? –