0
我从Ajax源创建一个observableArray,它工作得很好。现在我想用来自第二个源的数据扩展一些数组项。用来自第二个源的数据扩展observableArray
例如:
{ id: 1, name: 'Hugo', age: 18 }
......后来我想补充:
{ id: 1, city: 'New York', country: 'US' }
...这将导致:
{ id: 1, name: 'Hugo', age: 18, city: 'New York', country: 'US' }
这可能与ko.mapping插件?我已经做了一些测试,结果是数组中项目的映射属性已被第二个来源的属性取代。
解决方案
嗯,这是实际上是非常容易解决。当使用地图插件添加新数据时,我只需要检查key
。现有数据仅通过附加数据进行扩展。
ko.mapping.fromJS(modifications, {
key: function(data) {
return ko.unwrap(data.id);
}
}, originalData);
但“LL上observableArray这项工作? –