流星在刷新时运行代码,而不是渲染

Meteor run code on refresh, not render

本文关键字:代码 刷新 运行 流星      更新时间:2023-09-26

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

我在流星页面上使用ace编辑器(mizzao/meteor-sharejs)。我只是想被动地更新它的内容。这应该通过方法 ace.edit("editor").setValue("foo")来完成;

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

所以问题来了:有没有办法在反应式更新运行这样的代码,或者有没有另一种方法可以实现我的需求?

提前感谢!

Tracker.afterFlush怎么样?

根据 http://docs.meteor.com/#/full/tracker_afterflush:

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