我在尝试显示集合项时遇到问题,特别是我在collection.each()函数上遇到错误:
getTodo: function(){
this.todos = new TodosCollection;
this.todos.query = new Parse.Query("test");
this.todos.fetch({
success:function(obj){
console.log(obj.length);
obj.each(this.addOne);
}
});
},
addOne: function(todo){
console.log(todo);
}
使用此代码我收到此错误:
未捕获的TypeError:undefined不是函数
console.log(obj.lenght)是!= 0,那么错误在哪里?
答案 0 :(得分:1)
您调用this
方法的addOne
是回调,而不是您的对象 - 而回调的属性addOne
是undefined
,因此您正在尝试将undefined
作为函数调用。您可以通过以下方式将回调绑定到对象范围:
success: _.bind(function(obj){
obj.each(this.addOne);
}, this)