我有一个来自服务器的视图模型,像这样的 json
{
Project: {
Items: {
ItemA: {
Tags: [
...
]
},
ItemB: ...
}
}
}
然后我将这个对象与 knockout.mapping 插件绑定,但我需要 ItemA 有,例如,一个额外的 Marked observable,这样我在标记中可以做类似的事情
<ul data-bind="foreach: Project.Items">
...
<input type="checkbox" data-bind="checked: Marked">
我尝试create
在映射过程中使用该选项(如此处所示ko.mapping create function, extend object),但我无法弄清楚如何嵌套该create
方法以扩展 Project.Items 中的对象。
我一直在尝试这样的映射
var mappings = {
'Items': {
create: function (options) {
return $.map(options.data, function(obj) {
return new Item(obj);
});
}
}
}