我想映射这个
{ items: [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]};
在数组中创建某些内容时,我添加了一个函数以从集合中删除该项目。
var mapping = {
'items': {
key: function(data) {
return ko.utils.unwrapObservable(data.id);
},
create: function(options) {
var o = (new(function() {
this._remove = function() {
options.parent.items.mappedRemove(options.data);
};
ko.mapping.fromJS(options.data, {}, this);
})());
return o;
}
}
};
如果我要删除使用添加的项目items.mappedCreate
但不适用于映射到的项目,则此方法有效ko.mapping.fromJS
。
调试时我注意到 options.parent 在不同的情况下是不一样的。为什么?两种方法都应该作为父项返回 observableArray 吗?
我已经使用示例http://jsfiddle.net/fampinheiro/9CcME/设置了一个 jsfiddle 。
谢谢