我有一些数据来自“控制器”:
<b>
我正在使用lodash模板(_.template),渲染时仍然是纯文本:
<b>
预期:
<b>
如何在没有浏览器的情况下渲染这种html部分,认为它就像纯文本而不是元素?
答案 0 :(得分:1)
调用一个函数来浏览转义的HTML。根据您的情况,您可以选择取消数据并将结果传递给模板,或者像在此片段中一样,在模板中编写函数调用:
var temp = _.template("<%= htmlDecode(name) %>");
function htmlDecode(input) {
var doc = new DOMParser().parseFromString(input, "text/html");
return doc.documentElement.textContent;
}
console.log(temp({ name: "<em>Test</em>" }));
http://jsbin.com/laretumiqa/edit?html,js,console,output
(htmlDecode函数来自这个问题:Unescape HTML entities in Javascript?)