TODOリストアプリの行など、ビュー(コントローラー)のライフサイクルは何ですか?
App.RowView = Backbone.View.extend({
events:{
"click #del" : "delRow"
}
});
ほとんどのチュートリアルでは、AppView はこれを行います。
render: function()
{
this.collection.each(this.renderRow, this);
return this;
},
renderRow: function(row)
{
var rowView = new App.RowView({model:element});
this.$('#rows').append(rowView.render().el);
}
質問:
- は
rowView
一度だけ使用され、に破棄されるということrenderRow()
ですか? それとも生き続ける? - true の場合、いつビューを強制終了しますか? ビューにリスナーを追加し
model.destroy
て呼び出すremove()
だけで十分ですか? - サーバーからレンダリングされた行のマークアップが既にある場合、
click #del
イベントは引き続きキャプチャされ、作成されたものなしで何かを行いますrowView
か? 'click #del'
jQueryがそこで動作を委任してアタッチできるように、親ビューに配置する方がよいでしょうか?- 行ごとに1つのrowViewがあるということですか?それは _.template がすべての行でコンパイルされていることを意味しませんか? 代替手段はありますか?