此模板在第一个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模板以这种方式工作?
答案 0 :(得分:1)
更改模板中的这一行&lt;%if(identifer ===&#34; something&#34;){%&gt;至&lt;%if(标识符===&#34;某事&#34;){%&gt;
答案 1 :(得分:0)
事实证明我的Firefox Developer控制台(目前在38.05上)不设置为将javascript错误记录到控制台。我必须打开控制台,单击“JS”按钮上的显示三角形,并在“错误”旁边放置一个复选标记。
我假设这是我过去关闭的错误。我打开它,所有undefined
错误都出现了我想象的错误。