Knockout.js 具有ko.mapping的淘汰更新模型
当我们第一次应用ViewModel时,一切正常,但是如果我们在创建计算字段后重新应用映射,它们将被删除。如果不更改密钥,此代码显然有效 是否有方法使用ko.mapping重新计算这些计算字段,而不刷新页面 我也试过使用模板。。。Knockout.js 具有ko.mapping的淘汰更新模型,knockout.js,knockout-mapping-plugin,Knockout.js,Knockout Mapping Plugin,当我们第一次应用ViewModel时,一切正常,但是如果我们在创建计算字段后重新应用映射,它们将被删除。如果不更改密钥,此代码显然有效 是否有方法使用ko.mapping重新计算这些计算字段,而不刷新页面 我也试过使用模板。。。 与其在数组上循环并将comp计算的可观测值添加到每个项目,不如设置映射,以便在创建项目时添加它们 var mapping = { 'list': { key: function (data) { return ko.utils.unwrapOb
与其在数组上循环并将
comp
计算的可观测值添加到每个项目,不如设置映射,以便在创建项目时添加它们
var mapping = {
'list': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
},
create: function (options) {
var mapped = ko.mapping.fromJS(options.data, {
'list': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
},
create: function (options) {
var mapped = ko.mapping.fromJS(options.data);
return ko.utils.extend(mapped, {
comp: ko.computed(function () {
return this.val() * 3;
}, mapped)
});
}
}
});
return ko.utils.extend(mapped, {
comp: ko.computed(function () {
return this.val() * 2;
}, mapped)
});
}
},
'name': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
}
}
};
var model = ko.mapping.fromJS(modelJs, mapping);
var mapping = {
'list': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
},
create: function (options) {
var mapped = ko.mapping.fromJS(options.data, {
'list': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
},
create: function (options) {
var mapped = ko.mapping.fromJS(options.data);
return ko.utils.extend(mapped, {
comp: ko.computed(function () {
return this.val() * 3;
}, mapped)
});
}
}
});
return ko.utils.extend(mapped, {
comp: ko.computed(function () {
return this.val() * 2;
}, mapped)
});
}
},
'name': {
key: function (data) {
return ko.utils.unwrapObservable(data.name);
}
}
};
var model = ko.mapping.fromJS(modelJs, mapping);