gpt4 book ai didi

javascript - komapping fromjs 排除将属性转换为可观察的数组内部元素

转载 作者:行者123 更新时间:2023-12-03 06:43:19 25 4
gpt4 key购买 nike

我正在尝试使用 komapping 插件将属性转换为可观察的。

我确实有相同类型的对象数组,如下所示:

 var data =[{ b1: "v1", b2: "b21" }, { b1: "v2", b2: "b22" }] ;

现在我想使用 komapping 将 b1 属性视为 if 并将 b2 转换为 observable。为了简单起见,我在这里只保留了两个属性,但实际上我确实有更多属性。

所以我尝试了如下:

var data = [{ b1: "v1", b2: "b21" }, { b1: "v2", b2: "b22" }] ;
var result = ko.mapping.fromJS(data, { copy: "b1" });
console.log(result());

但它不起作用here是jsfiddle

enter image description here

最佳答案

我认为您当前的映射选项仅检查您传递的第一个数据中的 b1 属性名称,即:数据数组。

解决此问题的一种方法(也许不是最简单的,我不确定)是定义如何处理每个项目:

var data = [{ b1: "v1" }, { b1: "v2" }];

var result = ko.mapping.fromJS(data, {
create: function(options) {
var nestedData = options.data;
return ko.mapping.fromJS(nestedData, { 'copy': 'b1' });
}
});

data 中的每个项目都会传递给 options.data 内的 create 方法(原始数据仍然可以通过 data options.parent)。

创建函数使用您最初尝试的映射返回一个映射对象。

这是更新的 fiddle :http://jsfiddle.net/1ftk3a03/

关于javascript - komapping fromjs 排除将属性转换为可观察的数组内部元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37858941/

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