"这"在原型中是未定义的

时间:2014-05-31 23:22:28

标签: javascript node.js

我花了一个多小时。

此代码有什么问题?!

StudentController.js:

function StudentController() {
    this.studentService = {};
};

StudentController.prototype.findAll = function(req, res){
    this.studentService.something();
};

module.exports = StudentController;

app.js

var StudentController = require('./application/StudentController');
var studentController = new StudentController();
app.get('/students', studentController.findAll);

我得到了:

TypeError:无法调用方法'某些内容'未定义的

为什么" studentService" undefined ??

非常感谢!

1 个答案:

答案 0 :(得分:1)

未在正确的上下文中调用您的函数。

相反,请尝试:

app.get('/students', studentController.findAll.bind(studentController));