Meteor`onRendered`只调用一次

时间:2015-04-18 17:46:18

标签: meteor

经过数小时的实验和阅读后,我仍然不明白为什么myTemplate.onRendered(function() {...})只被召唤一次。

根据您阅读的位置,您会获得不同的信息,但每次内部HTML更改时都应该调用它 - 这在我的实验中不会发生,只会调用一次,而不管我做什么都不会。

反应依赖似乎也不会被调用(例如在Meteor.user()回调中使用onRendered

2 个答案:

答案 0 :(得分:3)

onRendered仅在模板的第一个渲染时执行,并且不是被动的。要使用与Template关联的反应式计算,您应使用template helperstemplate.autorun

您似乎还有一个XY problem,请尝试针对您的功能提出不同的问题。

答案 1 :(得分:1)

这是正常的。模板实例仅呈现一次。如果显示多个实例(在循环中),则每个实例都会触发自己的onRendered一次。如果您销毁实例并将其恢复(切换菜单或选项卡),那么您将再次触发onRendered,因为模板确实正在被重新渲染。