你能告诉我为什么我不能在超时功能中使用Reactive Var吗?我尝试在1秒超时后更改Reactive Var,但这是不可能的,尽管我一直使用相同的模板:
Template.instance().taskNumRV.set(0); => works well
setTimeout(function() {
Template.instance().taskNumRV.set(2); => Uncaught TypeError: Cannot read property 'taskNumRV' of null
}, 1000);
谢谢!
答案 0 :(得分:0)
调用回调函数时,Template.instance()
不再引用正确的模板实例。要解决此问题,请将Template.instance()
分配给局部变量,然后在setTimeout
回调中使用该变量。例如:
const instance = Template.instance();
setTimeout(function () {
instance.taskNumRV.set(2);
}, 1000);