我解释一下我的场景,用户通过WYSIWYG编辑器输入内容并将其持久化到数据库中,在应用程序的另一个地方,通过ajax请求获取此内容和另一个内容,在这里我使用模板文字来构建包含数据的html结构,最终使用
我需要显示通过WYSIWYG编辑器添加的内容为html格式,使用lodash函数
我分享实现的总体思路:
模板文字
如果我在视图中返回
谢谢。
innerHTML
将其插入到视图中的目标DOM元素中。我需要显示通过WYSIWYG编辑器添加的内容为html格式,使用lodash函数
_.unescape()
可以获得html特殊字符的自由内容,但这不是以html形式而是html字符串形式显示的。我分享实现的总体思路:
模板文字
`...
<div>${getHTML(dataset.message)}</div>
...`
Javascript
function getHTML(message) {
const html = _.unescape(message).replace('\\', '');
const parser = new DOMParser();
const dom = parser.parseFromString(html, 'text/html')
return dom;
}
输出
[object HTMLDocument]
如果我在视图中返回
html
变量而不是dom
变量,例如我得到了这样的结果:<p>some content <strong>goes here</strong></ p>
,我需要将这个内容显示为常规视图HTML。请问有什么办法可以将其显示为HTML吗?谢谢。
getHTML
函数。 - user3210641unescape
函数的lodash - Mario