【发布时间】:2012-07-17 13:06:01
【问题描述】:
KnockoutJS 中有没有办法在整个模板完成渲染时触发回调?
我了解您可以使用afterRender 选项:
"template: { name: 'Template', afterRender : myCallback}"
但回调在我的测试页面中触发了两次(我没有使用foreach,也没有要显示的数据集合)。
我看到了与我所问的类似的以下问题:
KnockoutJS bind event after template render
但是那个问题的答案对我没有帮助。
Knockout 中是否有一个事件在整个模板完成渲染后触发,而不仅仅是在 KO 找到的每个元素之后触发?
编辑: 妈的,急着发这个问题,忘了说我是用这个来加载模板的:
https://github.com/ifandelse/Knockout.js-External-Template-Engine
由于模板存储在外部文件中。
【问题讨论】:
-
也许你可以分享一个示例
afterRender是在这种情况下使用的正确钩子。 -
能否请您扩展您的评论,因为我不太清楚您的意思?抱歉在这里有点慢,辛苦了一天!
-
只是想知道您是否可以共享您的代码,其中回调在非 foreach 场景中触发两次,所以我可以进一步帮助您。
afterRender是您应该使用的正确钩子。这是一个示例:jsbin.com/umewov/edit#javascript,html,live -
我会尽快发布我的代码。我晚上要出去。
-
好的,我有一个 B 计划,即将注入器配置设置编辑为
infuser.defaults.ajax.async = false
标签: templates knockout.js