gpt4 book ai didi

javascript - Knockout.Mapping 为简单的 JSON 数组创建映射 Hook

转载 作者:行者123 更新时间:2023-11-30 13:14:05 26 4
gpt4 key购买 nike

当使用 knockout.js 的 knockout.mapping 插件时,我可以自定义创建集合中项目的方式,如下所示:-

var ItemModel = function (data) {
ko.mapping.fromJS(data, {}, this);
this.FooProperty = ...;
};

var mapping = {
'Items': {
create: function (options) {
return new ItemModel(options.data);
}
}
}

this.Items = ko.mapping.fromJS(data, mapping);

这假设数据包含一个包含集合的属性“Items”。但是如果数据只是一个 JSON 数组呢?如何将我的创建函数挂接到传入数据的顶级根中的项目?

从文档来看,映射对象中的键似乎可以是要作用的数据的属性名称,也可以是包含、忽略、复制中的一种。从这里,我看不出如何实现我想要的,除非我将传入的 JSON 包装到一个具有属性的对象中,映射它,然后打开结果。

最佳答案

您可以在映射对象的顶层放置一个create 函数来处理根对象:

喜欢:

var mapping = {
create: function(options) {

}
};

或者,您可以像这样传递它:

ko.mapping.fromJS({ Items: data });

但听起来您可能试图避免这样做。

关于javascript - Knockout.Mapping 为简单的 JSON 数组创建映射 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12773661/

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