下划线模板什么都不返回:为什么?

时间:2015-06-09 22:13:24

标签: underscore.js-templating

此模板在第一个if语句中有拼写错误,并且不返回任何内容。当我在此模板中放置debugger语句时,它会转到第一个if语句,然后死掉。检查__p会显示有效的javascript,所以我很困惑为什么整个模板函数都没有返回任何内容。

如果identifer未定义(它没有传递给模板函数;只有正确的identifier占位符),它不应该向控制台记录错误,说明我正在尝试的变量比较未定义?

<h3>This is the <%= identifier %> for the thing.</h3>
<% if (identifer === "something") { // spelling error in this line. %>
  <p>It is something.</p>
<% } else if (identifier === "something else") { %>
  <p>It is something else.</p>
<% } else { %>
  <p>The <%= identifier %> is something completely different.</p>
<% } %>

<div>
  <p>Some other HTML follows</p>
</div>

模板刚刚死掉,没有任何迹象表明错误,这对我来说似乎很奇怪。任何想法为什么Underscore模板以这种方式工作?

2 个答案:

答案 0 :(得分:1)

更改模板中的这一行&lt;%if(identifer ===&#34; something&#34;){%&gt;至&lt;%if(标识符===&#34;某事&#34;){%&gt;

答案 1 :(得分:0)

事实证明我的Firefox Developer控制台(目前在38.05上)设置为将javascript错误记录到控制台。我必须打开控制台,单击“JS”按钮上的显示三角形,并在“错误”旁边放置一个复选标记。

我假设这是我过去关闭的错误。我打开它,所有undefined错误都出现了我想象的错误。

相关问题