Knockout.Js 中的多个 afterAdd 调用
Posted
技术标签:
【中文标题】Knockout.Js 中的多个 afterAdd 调用【英文标题】:Multiple afterAdd calls in Knockout.Js 【发布时间】:2019-07-15 19:41:24 【问题描述】:我最近开始使用 Knockout.js 库。我有一个项目网格,我正在尝试在 foreach 中使用 afterAdd 属性。问题是它调用了 afterAdd 处理程序 3 次而不是 1 次。是有什么问题或者是 knockout.js 的正确行为(为什么?)
Console.log image
这是 html 代码 sn-p
<tbody id="body_table" data-bind='foreach: data: items, afterAdd: addSelect2'>
这是淘汰视图模型代码 sn-p
self.addSelect2 = function(element, index, data)
console.log(element);
【问题讨论】:
【参考方案1】:是的,这是预期的行为,因为它是为项目中的每个新元素调用的。文档指出 afterAdd
专门用于“触发与列表更改相关的动画”,并且“仅在将新条目添加到数组时调用”。
阅读更多here。
似乎您需要为您的要求创建自定义绑定。
【讨论】:
是的,但我只添加了 1 个项目,为什么我看到 3 个 console.logs 而不仅仅是 1 个?以上是关于Knockout.Js 中的多个 afterAdd 调用的主要内容,如果未能解决你的问题,请参考以下文章