9
我有一個定義了一些默認值的類和一個定義了一些默認值的子類。但是,當我創建一個子類的實例時,它只會查看本地默認值,並且不會將其默認值與父類的默認值合併。有沒有簡單的方法來做到這一點,而不是明確地將本地默認值與每個子類的initialize
函數中的父級默認值合併?在Backbone.js我怎麼能得到模型超類默認作爲默認的子類?
var Inventory = Backbone.Model.extend({
defaults: {
cat: 3,
dog: 5
}
});
var ExtendedInventory = Inventory.extend({
defaults: {
rabbit: 25
}
});
var ei = new ExtendedInventory({});
console.log(ei.attributes);
此輸出:
{rabbit: 25}
不是我想要的:
{cat: 3, dog: 5, rabbit: 25}
同樣適用於查看事件屬性。 – Julien
請參閱[this](http://stackoverflow.com/questions/6549149/extending-the-defaults-of-a-model-superclass-in-backbone-js)關於如何更改庫存的討論的問題。 prototype.defaults以及ExtendedInventory.prototype.defaults,因爲它們是相同的對象引用。 – c3rin
你是對的。 – Julien