반응형
EJS 템플릿 (JMVC)에서 조건문을 사용할 수 있습니까?
그렇다면 구문은 무엇입니까? 내 목표는 둘 이상의 댓글이있을 때 '댓글'이라는 단어 앞에 '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, 삼항 연산자 또는 스위치 케이스와 같은 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;
} %>
반응형
'programing' 카테고리의 다른 글
동일한 문자열에 대한 JSTL if 태그 (0) | 2020.09.18 |
---|---|
더 높은 종류의 유형은 언제 유용합니까? (0) | 2020.09.18 |
iPhone : 내비게이션 바 제목 설정 (0) | 2020.09.17 |
iOS 개발 : 장치에서 메모리 부족 경고를 유발하려면 어떻게해야합니까? (0) | 2020.09.17 |
RSpec 테스트에서 ActiveRecord에 대한 SQL 디버그 로깅을 켜려면 어떻게해야합니까? (0) | 2020.09.17 |