Javascript 多行下划线模板和\每个
尝试分析下划线模板时出错此模板存储为多行字符串:Javascript 多行下划线模板和\每个,javascript,templates,loops,each,underscore.js,Javascript,Templates,Loops,Each,Underscore.js,尝试分析下划线模板时出错此模板存储为多行字符串: {{ _.each(records, function(record, index) { }}\ <tr>\ {{ record.get("hours") }}\ </tr>\ {{ }) }}\ {{}.each(记录,函数(记录,索引){}\ \ {{record.get(“hours”)}\ \ {{ }) }}\ 错误: 未捕获的语法错误:意外标记) 在第1行(每行的u.) 根据
{{ _.each(records, function(record, index) { }}\
<tr>\
{{ record.get("hours") }}\
</tr>\
{{ }) }}\
{{}.each(记录,函数(记录,索引){}\
\
{{record.get(“hours”)}\
\
{{ }) }}\
错误:
未捕获的语法错误:意外标记)
在第1行(每行的u.)
根据下划线的语法,语法在我看来是正确的
编辑:我应该注意,我使用的是{{而不是,您需要使用
{[
进行评估
例如,假设您首先更改下划线.js用于计算的默认符号
_.templateSettings = {
evaluate: /\{\[([\s\S]+?)\]\}/g,
interpolate: /\{\{([\s\S]+?)\}\}/g,
escape: /\{\{-([\s\S]+?)\}\}/g
};
然后你可以做类似的事情
{[ _.each(records, function(record, index) { ]}
<tr>
{{ record.get("hours") }}
</tr>
{[ },this); ]}
{[\.each(记录、函数(记录、索引){]}
{{record.get(“hours”)}
{[},这个);]}
谢谢,但这似乎不起作用。使用括号和大括号有什么区别?对不起,您是否先定义了用于求值的regex
?我刚刚用它更新了anwser。我想我的regex求值是不完整的。我缺少了evaluate属性。我需要进一步研究下划线它。我不知道它的存在。谢谢!我记得当我开始使用它时,我也遇到了同样的问题,我实际上没有在中看到要计算的regex
。@JeancarloFontalvo实际上默认的下划线分隔符不是带花括号的,而是ERB样式,花括号是胡子样式。我所说的defaul是什么意思下划线模板选项是插值、转义和求值。它们都不是多行的,所以当覆盖它们时,您可能希望行为保持不变,只更改分隔符。
{[ _.each(records, function(record, index) { ]}
<tr>
{{ record.get("hours") }}
</tr>
{[ },this); ]}