私はBackbone.jsプロジェクトに取り組んでおり、collection.onまたはいわゆるバインディングについてかなり混乱しています。
これが私のビューのコードの一部です。
initialize: function(){
this.accCollection = this.options.accCollection;
//Nothing shows without this line, which renders 3 times
this.accCollection.on('all', this.render, this);
this.accCollection.fetch({
success:function(){
this.render;
}
});
},
render: function(){
$('.currentPage').html("<h3>Accounts</h3>");
console.log(this.accCollection.models);
//Render it in jade template
this.$el.html(this.template({accCollection:this.accCollection.models}));
return this;
}
だから私が理解していないのは、なぜこの行がないとうまくいかないのかということです。「all」および「add」で on を使用すると機能します。それは私のフェッチで最初に空のデータをレンダリングせず、2番目に3番目にいっぱいになったために機能しますか? 混乱している!
this.accCollection.on('all', this.render, this);
さらに情報を提供する必要があるかどうか教えてください。質問を編集します。
/よろしく