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

时间:2016-03-05 00:57:24

标签: javascript backbone.js underscore.js underscore.js-templating

我有以下代码:

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

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

2 个答案:

答案 0 :(得分:1)

摆脱%> <%}之间的else。像这样:

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

或者,ternary operator是我最喜欢的一个:

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

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

答案 1 :(得分:0)

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

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