2016-03-29 36 views
3

我有Meteor项目,它使用froala:编辑器 - 反应包为了设置用户关于我的领域。Meteor froala:编辑器反应式保存在数据的变化

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

回答

0

Per the plugin docs,尝试:

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

如果不工作,你可能使用不同的版本。在这种情况下,请提供以下语法一个镜头:从官方文档here

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

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

,多看this question