Расширение значений по умолчанию суперкласса Model в Backbone.js

Я хотел бы задать это как вопрос к этому ответу, но я не могу этого сделать, прошу прощения.

Продление значений по умолчанию для подкласс отражаются в суперклассе. Похоже, это противоречит цели, и я более склонен явно перечислять значения по умолчанию суперкласса в подклассе, чтобы получить структуру, которую я ищу.

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}

37
задан Community 23 May 2017 в 12:16
поделиться