在我的一个模板中,我使用了 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/