如果是的话,语法是什么? 我的目标是在“多个评论”这个词的前面加上'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