Ich versuche socket.io
auf mein Eigentum zu teilen, nicht sicher, warum es nicht funktioniert ...Prototypmuster neue Eigenschaft erstellen
Meine erste Datei, MessageController.js
:
function MessageController() {
};
MessageController.prototype.io = "";
MessageController.prototype.sendMessageAction = function (req, res) {
console.log(this.io);
}
module.exports = new MessageController();
In einer anderen Datei router.js
Ich habe dies wie:
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;
};
Hier ist, wie ich benötige router.js
:
Und wenn ich rufe this.io
Eigenschaft zurückgibt undefined
jemand weiß, was ist das Problem?
es sieht aus wie Sie es zu undefinierten in router.js try Einstellung könnte: module.exports = function (expressApp, Router, io) { console.log (io); // undefined .... }; –
Es ist nicht definiert weil, ich ersetzt 'io' mit string aber das gleiche Ergebnis ... – Vladimir
Sie ersetzten es vor der Einstellung in router.js haben Sie versuchen, es zu protokollieren, wie ich vorgeschlagen? –