我想使用 lodash.template() 创建一个 html 代码,但结果出乎我的意料。
var a = '<td>a</td>';
var expected = '<tr><td>a</td></tr>';
var actual = _.template('<tr><%- a %></tr>', {a: a});
console.log(actual);
"<tr><td>a</td></tr>"
填充文本
a
结果被逃脱了。我怎样才能得到
expected
的结果?我可以设置
options.escape
,但不知道如何使用此选项。谢谢!
最佳答案
您可以使用<%= a %>
或 print
在评估上下文中,尽管出于安全考虑,不建议以这种方式生成 HTML。
var actual = _.template('<tr><% print(a) %></tr>', {a: a});
// or
var actual = _.template('<tr><%= a %></tr>', {a: a});
关于javascript - 如何在 lodash.template() 中取消转义 html 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177990/