Reg*_*man 87 ejs conditional-statements
如果是,语法是什么?我的目标是在有多个时,在'评论'这个词的前面添加's'.在JMVC应用程序的jQuery.ejs模板中.以下休息.我找不到条件的任何文档......
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
Run Code Online (Sandbox Code Playgroud)
Jbi*_*ird 158
对于偶然发现这种情况的其他人,你也可以在条件语句中使用ejs params/props:
recipes.js文件:
app.get("/recipes", function(req, res) {
res.render("recipes.ejs", {
recipes: recipes
});
});
Run Code Online (Sandbox Code Playgroud)
recipes.ejs文件:
<%if (recipes.length > 0) { %>
// Do something with more than 1 recipe
<% } %>
Run Code Online (Sandbox Code Playgroud)
sta*_*eng 149
如果条件正确的结构,条件工作,我遇到了这个问题并弄明白了.
对于条件,之前的标记else必须与前一个标记的结束标记配对,if否则语句将单独评估并产生错误.
错误!
<% if(true){ %>
<h1>foo</h1>
<% } %>
<% else{ %>
<h1>bar</h1>
<% } %>
Run Code Online (Sandbox Code Playgroud)
正确
<% if(true){ %>
<h1>foo</h1>
<% } else{ %>
<h1>bar</h1>
<% } %>
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.
小智 21
根据您是否使用{}表示法,EJS的行为似乎有所不同:
我已经检查过,并按照您的预期评估以下条件:
<%if (3==3) {%> TEXT PRINTED <%}%>
<%if (3==4) {%> TEXT NOT PRINTED <%}%>
Run Code Online (Sandbox Code Playgroud)
虽然这个没有:
<%if (3==3) %> TEXT PRINTED <% %>
<%if (3==4) %> TEXT PRINTED <% %>
Run Code Online (Sandbox Code Playgroud)
小智 16
是的,你可以使用带有EJS的条件语句,如if else,三元运算符甚至是switch case
例如
三元运营商:
<%- 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;
} %>
Run Code Online (Sandbox Code Playgroud)
pzr*_*zrq 15
您还可以使用else if语法:
<% if (x === 1) { %>
<p>Hello world!</p>
<% } else if (x === 2) { %>
<p>Hi earth!</p>
<% } else { %>
<p>Hey terra!</p>
<% } %>
Run Code Online (Sandbox Code Playgroud)
我知道这个答案有点晚了
您可以在 ejs 中使用 if 和 else 语句,如下所示
<% if (something) { %>
// Then do some operation
<% } else { %>
// Then do some operation
<% } %>
Run Code Online (Sandbox Code Playgroud)
但还有一点我想强调的是,如果你这样使用代码,
<% if (something) { %>
// Then do some operation
<% } %>
<% else { %>
// Then do some operation
<% } %>
Run Code Online (Sandbox Code Playgroud)
它会产生一个错误。
希望这对某人有帮助
| 归档时间: |
|
| 查看次数: |
134576 次 |
| 最近记录: |