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語句中添加*,這不能回答問題......這更適合作爲問題更新或評論 –