是的,这个标题没有多大意义。
我有一个看法。此视图创建子视图。这些子视图存储在一个数组中,以便我可以在某个时候删除它们。
MN.ContactsView = MN.BaseView.extend ({
tagName : "div",
contactViewItems : [],
initialize : function(){
this.listenTo(MN.client.contacts, "add", this.addOne);
this.listenTo(MN.client.contacts, "reset", this.addAll);
this.listenTo(MN.client.contacts, "all", this.render);
MN.client.contacts.fetch();
}, render: function(){
},
addOne : function($contactModel){
var view = new MN.ContactsViewItem({model: $contactModel});
this.contactViewItems.push(view);
$("#contactsContainer").append(view.render().el);
},
addAll : function(){
MN.client.contacts.each(this.addOne, this)
},
close : function(){
},
destroy: function(){
for(var i =0; i < this.contactViewItems.length; i++) this.contactViewItems[i].destroy();
this.contactViewItems = [];
debugger;
console.log("Length: " + this.contactViewItems.length );
MN.BaseView.prototype.destroy.call(this);
},
当我销毁视图并检查调试器时,我看到相同的变量 2 次。什么是骨干?