在我的主干函数中,我为我创建了一个命名空间,因为var taskListPhraseI = {};
在使用这个命名空间时,我的所有函数都被分配了。
当我从集合类中获取集合时,使用我传递给的每个函数renderBoard
,在每个都不会知道this
这一点上的关键字时,我使用了一个声明为该关键字并分配给它的变量,使用that
我正在调用该函数,但将render function
错误抛出为
TypeError: that.renderBoard is not a function
[Break On This Error]
that.renderBoard(item)
但我确实有 renderBoard 功能。任何给我一个线索来解决这个问题?
我的部分代码:
taskListPhraseI.allView = Backbone.View.extend({
el:$('.boardHolder'),
initialize:function(){
this.collection = new taskListPhraseI.collection();
this.collection.fetch({success:this.render});
},
render:function(data){
var that = this;
_.each(data.models, function(item){
that.renderBoard(item) // throw the error..
},this);
},
renderBoard:function(item){
console.log('item'); // i am not getting the call here...
}
});