2
有人可以澄清流星(把手)模板如何与被动源进行交互吗? documentation已经有很多,但更系统的解释会有所帮助。流星模板中的反应行为
举例来说,似乎当Session
变量改变
Template.foo.rendered = function() {
var selectedItem = Session.get('item_selected');
... do stuff ...
}
我不明白为什么Template.rendered
事件不无功源的变化作出反应以下不会触发模板重新抽签。我还想了解其他事件/方法是否表现出这种特殊行为。当您设置item_selected
值与
Session.set("item_selected","value");
这Session
哈希,旁边的名字有相似Deps.depends反应依赖
Akshat,我的问题是真的,为什么你描述并不适用于'Template.rendered()'事件的行为 - 如果有其他事件/遵循相同模式的方法 – 2013-04-21 13:04:46
它适用于任何地方,Template.rendered将在每个模板呈现器上被调用,这是被动上下文无效的时间:哪个被动变量会像Session一样变化。我不太清楚你的意思是其他方法/事件的改变,因为不需要大量的方法来重新运行,因为只有面向模板数据/用户的功能需要改变。此外,还可以使用Deps.autorun(function(){..})添加自定义事件,该功能在被动上下文无效时也会运行。 – Akshat 2013-04-21 13:27:01
'Template.rendered'确实每次渲染模板时都会调用。但它似乎没有注册它所包含的反应性来源,就像其他方法一样。换句话说:在上面的例子中,如果Session变量发生变化(并且假设它不是链接到模板的其他方法的一部分),则不会触发模板呈现。 – 2013-04-21 20:13:47