如何在 meteor-sharejs ace 编辑器中获取当前文本

How to get the current text in meteor-sharejs ace editor

我正在尝试制作一个带有面板的小型降价编辑器,该面板显示呈现的降价。我的问题是似乎无法获取当前内容,它总是落后一步。我用过

return ace.edit("editor").getValue();

有没有办法绑定到编辑器正在使用的对象?

看看你的代码,很明显 getValue() 是 运行 在 DOM 有机会更新之前,所以它总是抓住以前的值选择。您需要将该行包装在 Tracker.afterFlush:

document: function () {
  Tracker.afterFlush(function(){
    return ace.edit("editor").getValue();
 });
}

希望这能让事情顺利进行!顺便说一句,我不确定为什么要将 {{document}} 包装在 {{#with docId}} 中,似乎它可能需要 Documents 对象中的文档 属性。不确定这是否真的影响了什么,但是看到您直接从编辑器中拉出 document,这有点令人困惑。