我想把这个作为这个答案的一个问题,但我似乎不能这样做,我很抱歉。
扩展子类的默认值反映在超类中。这似乎违背了目的,我更倾向于在子类中明确列出超类的默认值以获得我正在寻找的结构。
var Inventory = Backbone.Model.extend({
defaults: {
cat: 3,
dog: 5
}
});
var ExtendedInventory = Inventory.extend({
});
_.extend(ExtendedInventory.prototype.defaults, {rabbit: 25});
var i = new Inventory();
var ei = new ExtendedInventory();
console.log(i.attributes);
console.log(ei.attributes);
这输出:
{cat: 3, dog: 5, rabbit: 25}
{cat: 3, dog: 5, rabbit: 25}
不是我(我认为也不是op)想要的:
{cat: 3, dog: 5}
{cat: 3, dog: 5, rabbit: 25}