Meteor froala: редактор-реактивное сохранение при изменении данных

У меня есть проект Meteor, который использует пакет froala:editor-reactive для установки поля пользователя обо мне.

Вот код моего шаблона js:

Template.profile.helpers({
  getAbout: function() {
    return Meteor.user().profile.about;
  },
  doSave: function (e, editor) {        
    // Get edited HTML from Froala-Editor
    var newHTML = editor.getHTML();
    // Do something to update the edited value provided by the Froala-Editor plugin, if it has changed:
    if (!_.isEqual(newHTML, Meteor.user().profile.about)) {
      Meteor.call("updateTestimony", Meteor.userId(), newHTML);
    }
    return false; // Stop Froala Editor from POSTing to the Save URL
  }
}

Вот мой html-код шаблона:

<template name="profile">
  <div>
    {{> froalaReactive _onbeforeSave=doSave _value=getAbout}}
  </div>
</template>

Он должен сохраняться при изменении значения (надеюсь). Но у меня ошибка со строкой var newHTML = editor.getHTML();, а еще пробовал var newHTML = editor.html.get(true);. Оба они приводят к ошибке, когда он не может прочитать свойство html или getHTML. Я надеюсь, что это просто синтаксическая ошибка, и мне нужно что-то еще, но что здесь не так?


person Barry Michael Doyle    schedule 29.03.2016    source источник


Ответы (1)


В документации плагина попробуйте:

var newHTML = editor.html.get(true /* keep_markers */);

Если это не сработает, возможно, вы используете другую версию. В этом случае попробуйте следующий синтаксис:

var newHTML = $('.your_selector').editable('getHTML', true, true);

var newHTML = $('.your_selector').froalaEditor('html.get', true);

Больше из официальной документации здесь и см. этот вопрос.

person Mussser    schedule 18.08.2016