Meteor froala:editor-对数据更改的反应性保存
Meteor froala:editor-reactive save on change of data
我有一个 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 的 属性 的错误。我希望这只是一个语法错误,我还需要其他东西,但这里有什么问题吗?
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 and see 。
我有一个 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 的 属性 的错误。我希望这只是一个语法错误,我还需要其他东西,但这里有什么问题吗?
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 and see