gpt4 book ai didi

javascript - knockout : afterRender not being called in a foreach template binding

转载 作者:行者123 更新时间:2023-11-30 17:23:45 25 4
gpt4 key购买 nike

我正在尝试使用 Knockout 的 afterRender 绑定(bind),但我引用的函数从未被调用。

我有嵌套的 View 模型:vmConceptsvmConcept,其中 vmConcepts.Concepts = vmConcept 对象数组。

vmConcept(内部模型)有一个函数 self.Rendered = function (elmnt) {...

我将 vmConcepts(外部模型)绑定(bind)到以下标记(您可以看到这调用了嵌套模板):

<ul>
<!-- ko template: { name: 'concept-template', foreach: { data: Concepts, afterRender: Rendered } } --><!-- /ko -->
</ul>

我的理解是,应该为传递给 concept-template 模板的每个 vmConcept 对象(在 vmConcepts.Concepts 中)调用此 afterRender 绑定(bind),但事实并非如此发生。我什至将相同的 Rendered 函数添加到 vmConcepts 并且也没有被命中。

我已经将其作为 data-bind 绑定(bind)和虚拟绑定(bind)进行了尝试。

我错过了什么?

最佳答案

你的绑定(bind)搞砸了。 foreach 内部模板与 foreach 绑定(bind)不同。在模板上呈现的 after 将在每个 child 之后触发。

试试这个

<ul>
<!-- ko template: {
name: 'concept-template',
foreach: Concepts,
afterRender: Rendered
} --><!-- /ko -->
</ul>

我这里有一个工作示例: http://jsfiddle.net/4t94G/1/

关于javascript - knockout : afterRender not being called in a foreach template binding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658543/

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