3

我有 Meteor 项目,它使用 froala:editor-reactive 包来设置用户的 about me 字段。

这是我的模板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 的属性的错误。我希望这只是一个语法错误,我需要别的东西,但这里有什么问题?

4

1 回答 1

0

根据插件文档,尝试:

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

如果这不起作用,您可能正在使用不同的版本。在这种情况下,请试一试以下语法:

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

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

更多来自官方文档here并看到这个问题

于 2016-08-18T15:57:08.960 回答