gpt4 book ai didi

javascript - 使用其子模型初始化 Backbone 模型

转载 作者:行者123 更新时间:2023-11-30 16:06:45 26 4
gpt4 key购买 nike

我有以下 Backbone 模型

var Parent = Backbone.Model.extend({
defaults: {
id: '',
name: ''
}
});

var Child = Parent.extend({
defaults: {
color: '',
shape: '',
isValid: false
});

现在我有以下“子”模型的对象

var child = new Child({
id: '101',
name: 'Abc',
color: 'White',
shape: 'Square',
isValid: true
});

我需要使用这个“子”模型对象创建一个“父”模型对象,为此我执行了以下操作:

var json = convertToJSON(child);
var parent = new Parent(json);

但是这里“子”模型的属性也被填充到“父”模型的父对象中。有没有办法在这个新对象中只填充那些适用于“父”模型的属性?我不想使用“删除”来删除不适用的属性。

最佳答案

  1. 您可以使用 _.pick , 代理到您的子对象上为 child.pick选择特定属性,
  2. 您可以提取 Parent.defaults 的键来确定您需要什么

这转化为:

var parent = new Parent(
child.pick(_.keys(Parent.prototype.defaults))
);

还有一个演示 https://jsfiddle.net/nikoshr/u5rfpa6v/

关于javascript - 使用其子模型初始化 Backbone 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36934104/

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