经过数小时的实验和阅读后,我仍然不明白为什么myTemplate.onRendered(function() {...})
只被召唤一次。
根据您阅读的位置,您会获得不同的信息,但每次内部HTML更改时都应该调用它 - 这在我的实验中不会发生,只会调用一次,而不管我做什么都不会。
反应依赖似乎也不会被调用(例如在Meteor.user()
回调中使用onRendered
。
答案 0 :(得分:3)
onRendered
仅在模板的第一个渲染时执行,并且不是被动的。要使用与Template
关联的反应式计算,您应使用template helpers或template.autorun
。
您似乎还有一个XY problem,请尝试针对您的功能提出不同的问题。
答案 1 :(得分:1)
这是正常的。模板实例仅呈现一次。如果显示多个实例(在循环中),则每个实例都会触发自己的onRendered一次。如果您销毁实例并将其恢复(切换菜单或选项卡),那么您将再次触发onRendered,因为模板确实正在被重新渲染。