在Backbone.js中,扩展一个Model超类的默认值。
- 论坛
- 在Backbone.js中,扩展一个Model超类的默认值。
10 浏览
在Backbone.js中,扩展一个Model超类的默认值。
我想将这个问题提问给这个答案,但我似乎无法这样做,我很抱歉。
子类扩展的默认值会反映在父类中。这似乎违背了初衷,我更倾向于在子类中显式列出父类的默认值,以获得我想要的结构。
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}
不是我(也不是我假设的提问者)想要的结果:
{cat: 3, dog: 5} {cat: 3, dog: 5, rabbit: 25}