我正在使用映射插件从事件源事件中更新数组
this.itemMapping = {
key: function (item) {
return ko.utils.unwrapObservable(item.id);
},
create: function () {
return new ItemViewModel();
},
update: function (options) {
return options.target.update(options.data);
}
};
问题是事件一次出现一个,但我希望数组能够全部反映出来。 Knockout映射的默认行为是删除数据中找不到的项,我可以禁用它吗?
显示问题的小提琴
答案 0 :(得分:-1)
有同样的问题。我发现更容易创建第二个observableArray并通过subscribe更新它。
function(){
ko.mapping.fromJS({
last_events: []
}, {}, this);
events = ko.observableArray()
this.last_events.subscribe(function(items){
for(var i=0; i < items.length; i++){
events.push(items[i])
}
})
}