はいの場合、構文は何ですか?私の目標は、複数ある場合にWordの「コメント」の先頭に「s」を追加することです。 JMVCアプリのjQuery.ejsテンプレート。次の休憩。条件に関するドキュメントが見つかりません...
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
これにつまずく他の人のために、条件文でejs params/propsを使用することもできます:
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
<% } %>
条件が正しく構成されていれば機能します。この問題にぶつかり、それを見つけました。
条件付きの場合、else
の前のタグは、前のif
の終了タグとペアにする必要があります。そうしないと、ステートメントが個別に評価され、エラーが発生します。
エラー!
<% if(true){ %>
<h1>foo</h1>
<% } %>
<% else{ %>
<h1>bar</h1>
<% } %>
正しい
<% if(true){ %>
<h1>foo</h1>
<% } else{ %>
<h1>bar</h1>
<% } %>
これが役に立てば幸いです。
EJSは、{}表記を使用するかどうかによって異なる動作をするようです:
確認したところ、次の条件が期待どおりに評価されました。
<%if (3==3) {%> TEXT PRINTED <%}%>
<%if (3==4) {%> TEXT NOT PRINTED <%}%>
これはしませんが:
<%if (3==3) %> TEXT PRINTED <% %>
<%if (3==4) %> TEXT PRINTED <% %>
else if
構文も使用できます。
<% if (x === 1) { %>
<p>Hello world!</p>
<% } else if (x === 2) { %>
<p>Hi earth!</p>
<% } else { %>
<p>Hey terra!</p>
<% } %>
はい、if else、三項演算子、またはswitch caseのような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;
} %>