是的,那個標題沒有多大意義。骨幹視圖屬性:一個在實例上,一個在原型上?
我有一個看法。該視圖創建子視圖。這些子視圖存儲在一個數組中,以便我可以在某個時候刪除它們。
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次。什麼是主幹?