流星 - 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 来改变它。
在我的一个模板中,我使用 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 来改变它。