有人可以解释一下,对于TODO列表应用中的一行,View(控制器)的生命周期是什么?
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()
?还是活着?model.destroy
添加监听器并在视图中调用remove()
足够好吗?click #del
事件是否仍会被捕获并执行rowView
创建的内容?'click #del'
更好地位于父视图中,以便jQuery可以在那里委托和附加行为吗? 答案 0 :(得分:2)
remove()
之前解除绑定:Pattern to manage views in backbone RowView
的实例。click #del
事件,如果您在父视图中声明事件,您如何知道要删除的行?this.template
,如下所示:template: _.template( "hello: <%= name %>" );
。