流星 - Template.currentData() 没有反应?

Meteor - Template.currentData() not reactive?

在我的一个模板中,我使用 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 and the underlying Tracker and Autorun 有了更好的理解后,我发现我只需要改变

var someData = Template.currentData().someData;

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

所以好像只有Template.currentData()是一个响应式数据源,但是它returns对象的属性不是.

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