2015-04-18 46 views
4

多小时的实验和阅读后,我仍然不明白为什么myTemplate.onRendered(function() {...})只调用一次。流星`onRendered`只调用一次

根据,你看你得到不同的信息,但它显然应该得到所谓的每内部HTML变化时间 - 这并不在我的实验发生它只调用一次,再也不管我做什么。

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

回答

3

onRendered仅在第一次呈现模板的执行,它不反应。要使用与Template相关的反应计算,您应该使用template helperstemplate.autorun

它也似乎你有一个XY problem,试着问时考虑您的功能不同的问题。

+0

你对你的XY观察是正确的。看到我的实际问题:http://stackoverflow.com/questions/29722721/meteor-reactive-function-for-template-updates –

1

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