开箱即用的下划线模板使用标记<%= %>
对于原始的,和<%- %>
用于 HTML 转义内容。
我知道您可以使用以下方法更改标记:
_.templateSettings.interpolate = /\{\{(.+?)\}\}/g;
但这与原始内容和转义内容有何关系?在我看来,你最终只能得到一种类型的标记。或者我忽略了什么?
The Underscore.js 文档 http://documentcloud.github.com/underscore/#template这么说(强调):
如果您不喜欢 ERB 样式的分隔符,您可以更改 Underscore 的模板设置以使用不同的符号来引发内插代码。定义一个插值正则表达式来匹配应逐字插值的表达式,转义正则表达式,用于匹配 HTML 转义后应插入的表达式,以及一个评估正则表达式,用于匹配应在不插入结果字符串的情况下评估的表达式。
所以你可以只给_.templateSettings
反对escape
财产:
_.templateSettings.escape = /\{\{-(.*?)\}\}/g
>>> compiled = _.template("Escaped: {{- value }}\nNot escaped: {{ value }}")
>>> compiled({value: 'Hello, <b>world!</b>'})
"Escaped: Hello, <b>world!</b>
Not escaped: Hello, <b>world!</b>"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)