我有一个定义了一些默认值的类和一个定义了一些默认值的子类。但是当我创建子类的实例时,它只查看本地默认值,不会将其默认值与父类的默认值合并。有什么简单的方法可以做到这一点,而无需在每个子类的 initialize
函数中显式地将本地默认值与父默认值合并?
var Inventory = Backbone.Model.extend({
defaults: {
cat: 3,
dog: 5
}
});
var ExtendedInventory = Inventory.extend({
defaults: {
rabbit: 25
}
});
var ei = new ExtendedInventory({});
console.log(ei.attributes);
这个输出:
{rabbit: 25}
不是我想要的:
{cat: 3, dog: 5, rabbit: 25}
最佳答案
你不能那样做。你必须在子类之后做这件事
_.extend(ExtendedInventory.prototype.defaults, {rabbit: 25});
将其放在模型定义之后。
关于javascript - 在 Backbone.js 中,如何让模型父类(super class)默认值充当子类的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6505873/