gpt4 book ai didi

knockout.js - 嵌套对象的 knockout 自定义映射

转载 作者:行者123 更新时间:2023-12-04 18:46:15 25 4
gpt4 key购买 nike

我有一个 JSON 对象,例如:

{
id:"a",
type:"simple",
children:[
{
id:"a.1",
type:"simple",
children:[
{
id:"a.1.1",
type:"simple",
},
{
id:"a.1.2",
type:"simple",
}
]
},
{
id:"a.2",
type:"simple",
},
{
id:"a.2",
type:"simple",
}
]
}

我正在尝试使用 knockout 映射插件为所有子对象创建自定义选定属性,如下所示:
{
id:"a",
type:"simple",
children:[
{
id:"a.1",
type:"simple",
selected:true,
children:[
{
id:"a.1.1",
type:"simple",
selected:true
},
{
id:"a.1.2",
type:"simple",
selected:true
}
]
},
{
id:"a.2",
type:"simple",
selected:true
},
{
id:"a.2",
type:"simple",
selected:true
}
]
}

我的代码现在看起来像这样:
getMapping : function() {
var childModle = function(data) {
data.selected = false;
ko.mapping.fromJS(data, {}, this);
};
var mapping = {
"children" : {
create : function(options) {
return new childModle(options.data);
}
}
};
return mapping;
},

var mapping = this.getMapping();
var mappedModel = ko.mapping.fromJS(model, mapping);

这仅适用于顶级 child 。 2-n 级子级不是使用我的映射创建的。

* 我的模型可以有无限数量的嵌套层 *

我的问题是如何让 child 创建适用于所有嵌套的 child ?

最佳答案

您可能希望将映射选项传递给 ko.mapping.fromJS您在 childModle 内调用的电话构造函数。

关于knockout.js - 嵌套对象的 knockout 自定义映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13884377/

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