在Meteor重新呈现'?
后如何运行功能我有一个模板,在渲染时,应该运行一个(fancyform)函数,它接受一个普通的选择框,然后设置样式。所以我将函数放在Template.tempname.rendered = function(){}
中。一切都好。
但我也有一个i18n功能(usign TAP-i18n),它通过更改会话变量来更改语言,这使得页面上的文本更改为我们定义的任何文本。
但是,Template.tempname.rendered`中的函数不会再次运行,并且选择框语言不会更新。我需要再次运行fancyform函数,以便选择框也使用正确的语言。
我该怎么做?我已经阅读(并且努力理解)依赖关系......这是相关的吗?那有点矫枉过正吗?任何指针都会受到赞赏。
答案 0 :(得分:2)
在rendered
回调中,您需要进行有效计算,当i18n
被动字典中的任何内容发生变化时,该计算会使自身无效,因此:
Template.tempname.rendered = function () {
this.autorun(function () {
TAPi18n.getLanguage() // make sure to invalidate if the language changes
/* run your fancy form function here */
));
};