Как получить текущий текст в редакторе meteor-sharejs ace

Я пытаюсь сделать небольшой редактор уценки с панелью, которая показывает визуализацию уценки. Моя проблема, кажется, не в состоянии получить текущий контент, он всегда на шаг позади. Я использовал

return ace.edit("редактор").getValue();

Есть ли способ привязки к объекту, который использует редактор?

1 ответ

Решение

Глядя на ваш код, кажется довольно ясным, что getValue() работает до того, как у DOM появится возможность реактивного обновления, поэтому он всегда получает значение, которое было выбрано ранее. Вам нужно обернуть эту строку в Tracker.afterFlush:

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

Надеюсь, что все заработает! Кроме того, я не уверен, почему вы оборачиваете {{document}} в {{#with docId}}Похоже, что он может ожидать свойства документа в Documents объект. Не уверен, что это на самом деле влияет на что-либо, но, видя, что вы непосредственно тянете document от редактора, это немного сбивает с толку.

Другие вопросы по тегам