2012-01-24 5 views
3

の '適用')次のエラーがBackbonejs collection.fetch()に動作していない:collection.fetchを実行するとメソッドを呼び出すことはできませんが(未定義

Uncaught TypeError: Cannot call method 'apply' of undefined 
    Backbone.Events.triggerbackbone-0.5.3.js:117 
    _.extend._onModelEventbackbone-0.5.3.js:635 
    Backbone.Events.triggerbackbone-0.5.3.js:117 
    _.extend._addbackbone-0.5.3.js:595 
    _.extend.addbackbone-0.5.3.js:448 
    _.extend.fetch.options.successbackbone-0.5.3.js:521 
    jQuery.Callbacks.firejquery.js:1064 
    jQuery.Callbacks.self.fireWithjquery.js:1182 
    donejquery.js:7454 
    jQuery.ajaxTransport.send.callbackjquery.js:8235 

サーバー

[ 
    {"title":"The Ampersand Collection","id":"4f1deca441c41f9700000014"}, 
    {"title":"The Ampersand Collection2","id":"4f1deca441c41f9700000014"}, 
    {"title":"The Ampersand Collection3","id":"4f1deca441c41f9700000014"}, 
    //... 
] 
からの応答を生成されています

コード

$feed.animate({scrollLeft: $(event.target).hasClass('left') ? '-=' + win_width : '+=' + win_width}, { 
    step: function(){ 
     if(!loaded && scope.model.feedlets.last().view !== undefined && !$.rightoffold(scope.model.feedlets.last().view.el, {container: $(scope.model.feedlets.last().view.el).parent(), threshold: 400})) { 
     loaded = true; 
     scope.model.feedlets.fetch({ 
      add:true, 
      data: { 
      limit: 20, 
      offset: scope.model.feedlets.models.length 
      }, 
      success: function() { 
      console.log(scope.model.feedlets.models); 
      } 
     }); 
     } 
    }, 
    complete: function(){ 
     $('#container').triggerHandler('scroll'); 
    } 
    }); 

範囲は私ですFeedViewどのモデルがのインスタンスであるかFeedModelです。私はネストされたコレクションを使用していますので、それぞれFeedModelのフィードレットのコレクションを持っています。

+0

'... collection.fetch()'と呼ばれるコードを提供できますか? – piersadrian

+0

私はコードを追加しました。これは、イベントで実行されるビュー内の関数です。 –

答えて

10

エラートレースに続いて、あなたのビューのどこかに、未定義の関数を持つコレクションの "add"イベントでbindが呼び出されたようです。だから、ビュー内で、このようなものを探します。(それは本当に何でも)あなたのコードで

mycollection.bind('add', this.func, this); 

this.funcは未定義ているように見える、あるいは少なくともそれは機能しません。関数を作成する前に関数をバインドしようとしたことがありますか?私は、完全なビューコードを見ることなく、わからない。

+0

これはまさにそれだった。レンダリング機能ですべてのイベントをバインドしました。 –

+0

恐ろしい。それはたくさんの助けになりました。 – jtesch

+0

私も助けてくれました、ありがとう! – Matthew

関連する問題