如果是的話,語法是什麼? 我的目標是在「多個評論」這個詞的前面加上's'。在JMVC應用程序的jQuery.ejs模板中。以下休息。我找不到任何文檔的條件語句...我可以使用條件語句和EJS模板(在JMVC中)嗎?
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
如果是的話,語法是什麼? 我的目標是在「多個評論」這個詞的前面加上's'。在JMVC應用程序的jQuery.ejs模板中。以下休息。我找不到任何文檔的條件語句...我可以使用條件語句和EJS模板(在JMVC中)嗎?
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
對於其他人絆倒在此,您還可以使用EJS PARAMS /道具在條件語句:
recipes.js文件:
app.get("/recipes", function(req, res) {
res.render("recipes.ejs", {
recipes: recipes
});
});
recipes.ejs文件:如果他們
<%if (recipes.length > 0) { %>
// Do something with more than 1 recipe
<% } %>
您可以在include語句的情況下寫入條件內聯?這就是寫'<%if(true){include foo/bar}%>'出現錯誤。有沒有類似的方法或是否有必要通過'<% %>'來打破'include'。 – kuanb
EJS似乎表現不同,這取決於您是否使用{}符號與否:
我已經確認並以下條件被評估爲你期望:
<%if (3==3) {%> TEXT PRINTED <%}%>
<%if (3==4) {%> TEXT NOT PRINTED <%}%>
而這一次沒有:
<%if (3==3) %> TEXT PRINTED <% %>
<%if (3==4) %> TEXT PRINTED <% %>
你會期待一個單一的空間角色做點什麼嗎? – UpTheCreek
工作條件句結構正確,我遇到了這個問題,並找出答案。
對於條件,else
之前的標籤必須與之前的if
的結束標籤配對,否則這些語句將單獨評估併產生錯誤。
錯誤!
<% if(true){ %>
<h1>foo</h1>
<% } %>
<% else{ %>
<h1>bar</h1>
<% } %>
正確
<% if(true){ %>
<h1>foo</h1>
<% } else{ %>
<h1>bar</h1>
<% } %>
希望這有助於。
謝謝!這讓我陷入了一段時間。 – xblymmx
這是非常有用的,因爲我遇到了一個問題,我把我的'else'放在不同的行上,就像你提到的第一個代碼塊。非常感謝包含這些例子! –
您還可以使用else if
語法:
<% if (x === 1) { %>
<p>Hello world!</p>
<% } else if (x === 2) { %>
<p>Hi earth!</p>
<% } else { %>
<p>Hey terra!</p>
<% } %>
你需要在這裏強調的是,右括號必須**最明確地**用於與else/else相同的行if – Paulo
是的,你可以使用條件語句EJS一樣,如果一樣,三元運營商甚至切換的情況下也
對於實例
三元運營商: <%- role == 'Admin' ? 'Super Admin' : role == 'subAdmin' ? 'Sub Admin' : role %>
開關罩
<% switch (role) {
case 'Admin' : %>
Super Admin
<% break;
case 'eventAdmin' : %>
Event Admin
<% break;
case 'subAdmin' : %>
Sub Admin
<% break;
} %>
你的語法看起來正確的,對我的作品。你確定var commentsNumber存在並且是一個整數嗎? – mysmallidea
是的,奇怪的是條件沒有在文檔中提到! – UpTheCreek