Я хотел бы задать это как вопрос к этому ответу, но я не могу этого сделать, прошу прощения.
Продление значений по умолчанию для подкласс отражаются в суперклассе. Похоже, это противоречит цели, и я более склонен явно перечислять значения по умолчанию суперкласса в подклассе, чтобы получить структуру, которую я ищу.
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}