meteor - Meteor 模板中的 react 行为

标签 meteor handlebars.js

有人可以澄清 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 以及如何使另一个变量响应。

  1. http://www.eventedmind.com/posts/meteor-the-reactive-session-object
  2. http://www.eventedmind.com/posts/meteor-introducing-deps

关于meteor - Meteor 模板中的 react 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16130456/

相关文章:

javascript - 如何拒绝获取操作的访问

meteor - 从 meteor 中的css文件加载背景图像

javascript - Handlebars Helper 比较值(如果 v1 === v2),并渲染上层范围?

mongodb - 使用 meteor 部署时如何保留 mongodb?

javascript - 我应该为每个集合使用一个发布还是多个?

mongodb - 在 Meteor 中运行示例的问题

javascript - 在 Handlebars.js 中引用数组项

javascript - 如何在 Handlebars 表达式中包含 ember js 辅助函数

Ember.js 在不锁定浏览器的情况下渲染大型列表

javascript - Handlebars : why this code doesn't work?