不能在嵌套函数中访问'this'
这个问题在这里已经有了答案:
您在getTransactions
和getCompanies
中的AJAX回调函数中失去了上下文。 尝试这个:
Rank.prototype.getTransactions = function(callback) {
Transaction.find({}, function(err, transactions) {
//blah blah blah
this.transaction = transactions;
callback();
}.bind(this));
};
Rank.prototype.getCompanies = function(callback) {
Company.find({}, function(err, comps) {
//blah blah blah
this.transaction = comps;
callback();
}.bind(this));
};
当在嵌套函数调用中使用时, this
不再引用对象,因为该函数没有父对象。 如果分配this
一个变量如var self = this
,你可以像正常的内部嵌套函数调用访问它。