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