我很好奇,如果有一種方法可以將集合模型設置爲父模型。我可能會離開這裏,因爲我剛剛開始使用backbone.js,但繼承了我期待的結構。backbone.js集合和多種類型的模型?
Collection
model:object
對象模型是兩個其他子對象的父模型。
Object
->Image
->text
這兩個子模型擴展了對象模型。
這是可行的嗎?我希望我在這裏表達清楚。感謝任何可以提供任何幫助的人。
我很好奇,如果有一種方法可以將集合模型設置爲父模型。我可能會離開這裏,因爲我剛剛開始使用backbone.js,但繼承了我期待的結構。backbone.js集合和多種類型的模型?
Collection
model:object
對象模型是兩個其他子對象的父模型。
Object
->Image
->text
這兩個子模型擴展了對象模型。
這是可行的嗎?我希望我在這裏表達清楚。感謝任何可以提供任何幫助的人。
是的,這是可行的。
我自己並沒有在一個集合中使用不同的子類,但here是一篇相當不錯的關於一般的Backbone繼承以及特別是「超集合中的子類」的文章。
設置繼承本身後,作者使用集合parse函數來創建相應的模型。
Backbone.Collection.extend({
model: Location,
parse: function (res) {
_.each(res, function (location) {
switch(location.phase) {
case 'solid':
this.add(new Country(location));
case 'liquid':
this.add(new Ocean(location));
//...
}
},
this);
}
});
關於你可能也想看看這個question和JohnnyO的答案,可能會幫助你的代碼設計,避免像
this.constructor.__super__.initialize.apply(this, arguments);
你有一個先看看試過?調用繼承部分我沒有看到任何問題,除了可能會出現很多條件句來區分行爲和渲染。 – fguillen 2012-03-17 16:36:36
可能與[具有特定類型的Backbone.Js集合]有關(http://stackoverflow.com/questions/6061445/backbone-js-collection-with-specific-types)。 – 2012-03-18 22:30:43