Как получить текущий текст в редакторе 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
от редактора, это немного сбивает с толку.