1

コレクション項目を表示しようとすると問題が発生します。特に、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.length) は != 0 なので、エラーはどこにあるのでしょうか?

4

1 に答える 1

1

thisメソッドを呼び出す元は、オブジェクトではなくコールバックです。addOneコールバックのプロパティaddOneundefinedであるため、関数として呼び出そうとしundefinedています。この方法で、コールバックをオブジェクト スコープにバインドできます。

success: _.bind(function(obj){
  obj.each(this.addOne);
}, this)
于 2013-09-25T10:58:23.880 に答える