Javascript Meteor在刷新时运行代码,而不是渲染

Javascript Meteor在刷新时运行代码,而不是渲染,javascript,meteor,reactive-programming,Javascript,Meteor,Reactive Programming,我已经在这个网站上读到了很多答案,但这一个让我挠头: 我在meteor页面上使用ace编辑器(mizzao/meteor sharejs)。我只是想反应性地更新它的内容。这应该通过方法ace.edit(“editor”).setValue(“foo”)完成 现在,我无法让它工作。 为什么: 1.OnRender不是一个选项,因为它只在第一次运行时运行 已呈现/未更新 2.我不能使用助手,因为编辑器本身是通过手柄输入的,因此在更新完成之前“找不到”。 ({{>sharejsAce docid=do

我已经在这个网站上读到了很多答案,但这一个让我挠头:

我在meteor页面上使用ace编辑器(mizzao/meteor sharejs)。我只是想反应性地更新它的内容。这应该通过方法ace.edit(“editor”).setValue(“foo”)完成

现在,我无法让它工作。 为什么:
1.OnRender不是一个选项,因为它只在第一次运行时运行 已呈现/未更新
2.我不能使用助手,因为编辑器本身是通过手柄输入的,因此在更新完成之前“找不到”。 ({{>sharejsAce docid=docid onRender=config id=“editor”}})

所以问题是:有没有一种方法可以在响应式更新后运行这样的代码,或者有没有其他方法可以实现我的需求


提前谢谢

Tracker.afterFlush怎么样

根据:

计划在下一次刷新期间调用函数,或者在重新运行所有无效计算后,在当前刷新(如果正在进行)中稍后调用函数。除非再次调用afterFlush,否则该函数将运行一次,并且不会在后续刷新时运行


谢谢,可能就是这样。但是,我希望该方法只针对某个模板执行。现在,它是在每次刷新Tracker.afterFlush(function(){ace.edit(“editor”).setValue(this.data.skeleton);})之后执行的;不,每次刷新后都不-
跟踪器。每次调用后,afterFlush
只调用回调一次。但是,我可以让它仅在更新/刷新某个模板时运行回调代码吗?(或者在回调函数中检查更新了什么模板?)在编辑器的
onRender
中创建自动运行如何?它将被反应性地调用,并且您可以访问编辑器本身。对不起,但这仍然不是它。当页面上的反应数据更改时,不会调用该方法。也许我做错了,但它只有在渲染时才会被触发。。。谢谢你的努力。还有谁有建议吗?在被动数据更改后如何调用方法?