我最近开始使用Knockout.js库。我有一个项目网格,我正在尝试在foreach中使用afterAdd属性。问题是它调用afterAdd处理程序3次,而不是1次。是不是有问题,还是击倒.js的正确行为(为什么?)
这是HTML代码段
<tbody id="body_table" data-bind='foreach: { data: items, afterAdd: addSelect2}'>
这是基因剔除视图模型代码段
self.addSelect2 = function(element, index, data) {
console.log(element);
}
答案 0 :(得分:0)
是的,这是预期的行为,因为对于项中的每个新元素都会调用它。该文档指出afterAdd
的具体含义是“用于触发与列表中的更改相关的动画”,并且“仅在将新条目添加到您的数组时才调用”。
了解更多here。
似乎您需要根据需要创建自定义绑定。