0

我有以下代码:如何else语句中添加下划线模板

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

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

+0

快速't = _.template(tmpl); console.log(t.source)'可能有启发性。 –

回答

1

只得到}else之间摆脱%> <%的。就像这样:

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

另外,该ternary operator是我的收藏之一:

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

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

0

一个更好的办法来做到这一点是与OR操作:

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

问题是*“如何在下划线模板中的else语句中添加*,这不能回答问题......这更适合作为问题更新或评论 –