gpt4 book ai didi

javascript - 在 Backbone.js 中,如何让模型父类(super class)默认值充当子类的默认值?

转载 作者:数据小太阳 更新时间:2023-10-29 03:53:14 25 4
gpt4 key购买 nike

我有一个定义了一些默认值的类和一个定义了一些默认值的子类。但是当我创建子类的实例时,它只查看本地默认值,不会将其默认值与父类的默认值合并。有什么简单的方法可以做到这一点,而无需在每个子类的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com