开箱即用的underscore模板使用标记<%= %>
表示原始内容,使用<%- %>
表示HTML转义的内容。
我知道你可以通过类似以下方式更改标记:
_.templateSettings.interpolate = /\{\{(.+?)\}\}/g;
但是这与原始内容和转义内容有什么关系呢?在我看来,最终你只得到了一种类型的标记。或者我漏掉了什么吗?
开箱即用的underscore模板使用标记<%= %>
表示原始内容,使用<%- %>
表示HTML转义的内容。
我知道你可以通过类似以下方式更改标记:
_.templateSettings.interpolate = /\{\{(.+?)\}\}/g;
但是这与原始内容和转义内容有什么关系呢?在我看来,最终你只得到了一种类型的标记。或者我漏掉了什么吗?
_.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>"
if
语句)进行求值的用户,还应查看此答案:https://dev59.com/fXbZa4cB1Zd3GeqPBQsc#18411901(使用`evaluate`设置)。 - harvzor