我试图理解下划线的模板方法的标记类型之间的区别。
具体来说,除了HTML转义之外,我还试图找出下划线<%- %>标记和<%= %>之间的区别。这两种类型之间还有其他区别吗?
来自下划线的文件:
如果您希望内插一个值,并将其转义为HTML-2,请使用<%-…%>
内插在这种情况下意味着什么?
发布于 2013-05-23 21:50:28
下划线将更改<% %>声明中参数的值,例如,传递给模板的JSON属性名的值<%-firstName %>。这意味着将变量声明替换为实际值。-=的不同之处在于,如果您希望将此值作为HTML的替罪羊。
发布于 2013-05-23 21:50:14
意思是评估和人口..。
让我们说你有
让我们假设在您转换model attributes to JSON之后,这是一个对象
{
title : 'Hello World',
escapeTitle : '<Hello World >'
}; 如果你这么做
<%= {{title}} %> // Displayed as -- Hello World
<%= {{escapedTitle}} %> // Displayed as -- <Hello World>但如果你用这个
<%- {{escapedTitle}} %> // Displayed as -- <Hello World>因此,首先,如果用户希望转义并填充该字符,则对其进行计算。
发布于 2013-05-23 21:51:26
内插意味着计算javascript表达式并将结果值放入模板数据中。例如:
_.template('Hello, <%- name %>', {name: 'Tony'})将返回Hello, Tony。这是插值,而不是计算,在这里,您可以为控制流或其他表达式的表达式,其目的不仅仅是计算一个值,将成为模板输出字符串的一部分。
https://stackoverflow.com/questions/16723735
复制相似问题