javascript - Meteor - Template.currentData() 没有反应?

标签 javascript meteor reactive-programming meteor-blaze

在我的一个模板中,我使用了 autorun在数据上下文更改时更改某些 DOM 元素,但它永远不会被触发。

Template.onRendered(function () {
  this.autorun(function () {
    var someData = Template.currentData().someData;
    // some DOM manipulation
  }
}

文档指出 Template.currentData() :

Establishes a reactive dependency on the result.

因此,如果 someData 被更改,它应该触发重新计算,不是吗?

最佳答案

在做了一些研究并对reactive data sources and reactive computations有了更好的理解之后和基础 Tracker and Autorun我想通了,我只需要改变

var someData = Template.currentData().someData;

var currentData = Template.currentData();
var someData = currentData.someData;

所以看起来只有Template.currentData()是一个响应式数据源,但是它返回的对象的属性不是

也许可以使用 reactive-var 来改变它.

关于javascript - Meteor - Template.currentData() 没有反应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35975871/

相关文章:

javascript - 使用 jQuery 从数组数组动态生成 <table> 时如何排除 ID 列

javascript - jQuery、Ajax : Unable to replace HTML

javascript - 从 Angular 柱方法获取数据

javascript - 使用 Meteor JS 的响应式(Reactive)连接在模板中呈现集合数据

meteor - Iron router : Error: Couldn't find a template named "/" or "". 你确定是你定义的吗?

java - 以功能 react 方式合并 2 个列表

javascript - 如何以缓存方式迭代 Cold Observable

javascript - Node.JS/Grunt-Nodemon : ReferenceError: mode is not defined

javascript - Meteor - Mongo不会更新,数组中的对象

javascript - 如何确定 Observable.merge 中哪些 observable 发生了更改?