有人可以澄清 Meteor(Handlebars)模板如何与 react 源交互吗? documentation中已经有很多了但更系统的解释会有所帮助。
例如,当 Session
变量更改时,以下内容似乎不会触发模板重新绘制
Template.foo.rendered = function () {
var selectedItem = Session.get('item_selected');
... do stuff ...
}
我不明白为什么 Template.rendered
事件不对 react 源更改使用react。我还想了解其他事件/方法是否表现出这种特殊行为。
最佳答案
当您设置 item_selected
值时,模板将重新呈现
Session.set("item_selected","value");
此 Session
哈希值除了名称之外还具有类似于 Deps.depends 的 react 性依赖项。当您更改此 session 哈希时,当前响应式(Reactive)上下文将失效,并且所有内容都将重新绘制/重新渲染(通过 Session.set 调用)。
然后将运行 .rendered
方法,您可以在其中使用这个新值,就像使用 var selectedItem
有关其具体工作原理的非常详细的视频广播,您可以观看 EventedMind 上的视频,其中演示了如何构建 Session
以及如何使另一个变量响应。
关于meteor - Meteor 模板中的 react 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130456/