嗨,大家好我有一個應用程序佈局小問題。我正在像這樣設置我的控制器。NodeJS應用程序佈局和變量傳遞
ApplicationController = function(_app) {
this.app = _app;
console.log(this.app); //this works
};
ApplicationController.prototype.index = function(req, res, next) {
console.log(this.app); //this is undefined
res.json("hello");
};
module.exports = function(app) {
return new ApplicationController(app);
};
而在我的路線文件我這樣做。
module.exports = function(app) {
//require controllers
var Application = require('./controllers/ApplicationController')(app);
//define routes
app.get('/', Application.index);
app.get('/blah', Application.blah);
return app;
};
我傳遞的app變量沒有顯示在其他實例方法中。這是我有遺漏的原因嗎?謝謝你的幫助。
在過去,我把我的控制器設置爲這樣。
module.exports = function(app) {
var controller = {
//app is defined
res.render('index', {
title: "Index"
});
}
};
return controller;
};
但我更喜歡這個其他模式,我更加好奇,爲什麼它不起作用。
你在'require()'之後如何使用'Application'? –
更新的路線文件 –