我意識到有很多解決方案,但我想知道社區的意見是什麼。在模型或集合構造函數中存儲模型或集合特定的視圖
我有一系列的模型和集合。每個模型都有許多視圖,如細節,編輯,打印,旁白,幫助等。集合的視圖通常具有相同的名稱(即:旁白,幫助等)。
我的一個要求是我需要在模塊中構造我的代碼。如果模塊未加載,應用程序應該沒有模塊功能的跟蹤。例如,如果用戶沒有權限查看,編輯其他用戶,則可能會發生這種情況。所以「用戶」模塊甚至不會被加載。
所以......
我想到了一個好地方來存儲視圖定義一個模型可能是模型的構造以及在集合的構造函數的集合。例如:
var User = (function(){ // module definition
// model definition
var Model = Backbone.Model.extend({
initialize: function() {
// ...
}
},{
Views: {
Details: Backbone.View.extend({
// ...
}),
Aside: Backbone.View.extend({
// ...
}),
Help: Backbone.View.extend({
// ...
})
}
});
// collection definition
var Collection = Backbone.Collection.extend({
model: Model,
initialize: function() {
// ...
}
},{
Views: {
Aside: Backbone.View.extend({
// ...
}),
Help: Backbone.View.extend({
// ...
})
}
});
// add more code here
return { // make model and collection public
Model: Model,
Collection: Collection
};
})(); // end module definition
我知道我可以有我的看法住在別處,但將這種做法有任何顯着的缺點,我可能不知道的?也許內存泄漏或不太明顯的東西?
謝謝!
嗯......我想我的問題的一部分,對不起,如果這聽起來很基本,是:當創建一個實例時,將「視圖」對象複製一次每個實例,或者通過添加到構造函數是我確保這些定義只添加到內存一次? – luisgo