在视图模型中,我有一个名为“curRec”的对象,其属性绑定到视图上的控件。例如,curRec.id、curRec.targetScore 等。
此外,curRec 有一个名为“actions”的数组类型的属性。我正在使用 Kendo UI 中的数据模板呈现动作。
当我将一条新记录推送到 curRec.actions 中时,kendo 内部会使用“add”动作触发事件两次,因此一次添加两行。一次,数组只包含一条记录,因为我只推送了一行。
这是一些代码:
addMore: function(e) {
e.preventDefault();
this.get("curRec.actions").push( new ActionModel({}) );
},
removeMore: function (e) {
e.preventDefault();
var action = e.data;
var index_item_to_remove = this.get("curRec.actions").indexOf(action);
this.get("curRec.actions").splice(index_item_to_remove, 1);
}
我浏览了剑道代码,注意到有两次调用动作为“添加”的事件。
关于什么可能导致 ObservableArray 触发事件/动作“添加”两次的任何提示?