如何在下划线模板中添加else语句

How to add in else statement in underscore template

我有以下代码:

var c = 'Credits: <% if (credits) { %> <%= credits %> <% } %> <% else  { %> N/A <% } %>'

但是我得到 Unexpected token elseelse 语句与 if 语句的添加方式是否不同?以上正确应该是什么?

更好的方法是使用 OR 运算符:

var c = 'Credits:</b> <%= credits || "No credits" %></div>

只需去掉 }else 之间的 %> <%。像这样:

var c = 'Credits: <% if (credits) { %> <%= credits %> <% } else { %> N/A <% } %>';

另外,ternary operator 是我的最爱之一:

var c = 'Credits: <%= credits ? credits : "N/A" %>';

如果不清楚,三元基本上是一个简化的 if/else 语句。 ? 之前的部分是要评估真实性的表达式。如果为真,则执行 ?: 之间的中间部分,但如果为假,则执行 : 之后的最后一部分。