Knockout.Js中有多个afterAdd调用

时间:2019-02-21 19:28:31

标签: javascript html mvvm knockout.js

我最近开始使用Knockout.js库。我有一个项目网格,我正在尝试在foreach中使用afterAdd属性。问题是它调用afterAdd处理程序3次,而不是1次。是不是有问题,还是击倒.js的正确行为(为什么?)

Console.log image

这是HTML代码段

<tbody id="body_table" data-bind='foreach: { data: items, afterAdd: addSelect2}'>

这是基因剔除视图模型代码段

self.addSelect2 = function(element, index, data) {
    console.log(element);
}

1 个答案:

答案 0 :(得分:0)

是的,这是预期的行为,因为对于项中的每个新元素都会调用它。该文档指出afterAdd的具体含义是“用于触发与列表中的更改相关的动画”,并且“仅在将新条目添加到您的数组时才调用”。

了解更多here

似乎您需要根据需要创建自定义绑定。