小编mcd*_*doh的帖子

扩展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);
Run Code Online (Sandbox Code Playgroud)

这输出:

{cat: 3, dog: 5, rabbit: 25}
{cat: 3, dog: 5, rabbit: 25}
Run Code Online (Sandbox Code Playgroud)

不是我(也不是我认为,op)想要的:

{cat: 3, dog: 5}
{cat: 3, dog: 5, rabbit: 25}
Run Code Online (Sandbox Code Playgroud)

javascript prototypal-inheritance backbone.js

37
推荐指数
2
解决办法
2万
查看次数