0

backbone-boilerplate/backbone-layoutmanager を使用していますが、place.fetch() を呼び出した後にビューを再レンダリングする際に問題が発生しています。最初はうまくいくように見えますが、2 回目にフェッチすると、「render」メソッドが呼び出されなくなります。

どんなヒントも役に立ちます

ありがとう

ピート

ルーター

test: function() {
    var place = new Place.Model({
      place_id: place_id,
    });
    place.fetch().complete(function(){

    app.useLayout("main").setViews({
        ".place-detail": new Place.Views.Show({
          model: place
        })
      }).render();
   });
}

見る

initialize: function() {
  _.bindAll(this, "render");
 this.model.on("change", this.render, this);
}

render: function(manage) {
  return manage(this).render();
}
4

1 に答える 1

0

fetchsuccessは、完了時に呼び出されるorerrorハンドラーを持つオブジェクトを受け入れる非同期関数です。AFAIKfetchは、ハンドラーを使用してチェーンするjQueryメソッドをサポートしていないため、完了時に呼び出す場合は、適切なメソッドが設定されcompleteたオブジェクトを渡す必要があります。success

于 2012-09-12T16:51:59.080 に答える