此代码不起作用:
var mappingOption = {
key: function (data) {
return ko.utils.unwrapObservable(data.id);
}
ko.mapping.fromJS(serverItems, mappingOption, viewModel.items);
我想联合这两个项目(viewModel.items 和 serverItems)
此代码不起作用:
var mappingOption = {
key: function (data) {
return ko.utils.unwrapObservable(data.id);
}
ko.mapping.fromJS(serverItems, mappingOption, viewModel.items);
我想联合这两个项目(viewModel.items 和 serverItems)
var ClassA = new function(data) {
ko.mapping.fromJS(data, {
key: function (item) {
return ko.utils.unwrapObservable(item.id);
},
'items': {
create: function (itemData) {
return new ClassB(itemData.data);
}
}
}, self);
}
var ClassB = new function(data) {
ko.mapping.fromJS(data, {
key: function(item) {
return ko.utils.unwrapObservable(item.id);
};
), self);
}
所以 ClassA 有一个 ClassB 的集合。在创建时,它调用映射函数,该函数对调用创建类 B 构造函数的项目集合(ClassB 类型)进行创建回调,并传入相关数据。
ClassB 然后从构造函数中获取数据,并将其合并到自身中。
由于 ClassB 的键映射,我很确定这将起作用。但是没有时间测试它;-)