gpt4 book ai didi

javascript - 模板渲染后的 KnockoutJS 绑定(bind)事件

转载 作者:可可西里 更新时间:2023-11-01 01:16:52 25 4
gpt4 key购买 nike

我已经搜索了一段时间,我非常有信心这是一个新问题,而不是像标题所暗示的那样重复。 :)

基本上,我试图找出在使用 jQuery 模板之类的东西时,KnockoutJS 在模板渲染后是否创建了一个可订阅的事件。

我会使用内置的“afterRender”,但我发现如果可观察数组被清除,它不会触发。我构建了这个演示来说明这个问题:http://jsfiddle.net/farina/YWfV8/1/ .

此外,我知道我可以编写一个自定义处理程序...但这对于我需要的东西来说似乎真的没有必要。

我只想在模板完成渲染后触发一个事件。

最佳答案

昨晚我的同事实际上用我回家前玩过的东西解决了这个问题。

因此事件“afterRender”、“afterAdd”和“beforeRemove”的整个“问题”在于它们在与“foreach”绑定(bind)结合时表现不同。 KnockoutJS 非常好,可以在他们的 page 上告诉你这个,但无论出于何种原因,直到我在实践中看到它,它才真正让我明白。

真正有效的是废弃整个“foreach”绑定(bind)并使用 Knockout 的原生“数据”绑定(bind),如下所示:

data-bind="template: { name: 'item-template', data: items, afterRender: caller }"

然后“afterRender”就像名字所暗示的那样工作。

我的印象是没有 foreach 就无法迭代集合并呈现新的 UI,但这些示例说明它确实有效。

我为两种 ViewModel 样式制作了一个示例,因为有时我需要其中一种样式。

感谢丹的帮助!!

关于javascript - 模板渲染后的 KnockoutJS 绑定(bind)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com