a jeśli tak, jaka jest składnia? Moim celem jest dodanie litery „s” do słowa „komentarz”, gdy jest ich więcej. w szablonie jQuery.ejs w aplikacji JMVC. Następujące przerwy. Nie mogę znaleźć żadnych dokumentów warunkowych ...
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
conditional-statements
ejs
Regis Zaleman
źródło
źródło
Odpowiedzi:
Dla innych, którzy się na to natkną, możesz również użyć parametrów / rekwizytów ejs w instrukcjach warunkowych:
Receptury.js Plik:
recepty.ejs Plik:
źródło
include
wyciągu możesz wpisać warunkowy inline? To pismo<% if (true) { include foo/bar } %>
wydaje się być błędne. Czy istnieje podobna metoda, czy też konieczne jest przełamanieinclude
przez<% %>
.Warunki warunkowe działają, jeśli mają prawidłową strukturę, natknąłem się na ten problem i rozgryzłem go.
W przypadku warunków warunkowych poprzedni znacznik
else
musi być sparowany z końcowym znacznikiem poprzedniego, wif
przeciwnym razie instrukcje będą oceniane oddzielnie i spowodują błąd.BŁĄD!
Poprawny
mam nadzieję, że to pomogło.
źródło
else
na umieszczaniu mojego w innym wierszu, takim jak pierwszy wspomniany blok kodu. Dziękuję bardzo za dołączenie tych przykładów !!Wydaje się, że EJS zachowuje się inaczej w zależności od tego, czy używasz notacji {}, czy nie:
Sprawdziłem i następujący warunek jest oceniany zgodnie z oczekiwaniami:
podczas gdy ten nie:
źródło
Tak, możesz używać instrukcji warunkowej z EJS, jak if else, operatora trójargumentowego lub nawet przełącznika wielkości liter
Na przykład
Operator trójskładnikowy :
<%- role == 'Admin' ? 'Super Admin' : role == 'subAdmin' ? 'Sub Admin' : role %>
Sprawa przełącznik
źródło
Możesz także użyć
else if
składni:źródło
Wiem, że to trochę późna odpowiedź
możesz użyć instrukcji if i else w ejs w następujący sposób
Chcę jednak podkreślić, że jeśli używasz kodu w ten sposób,
Spowoduje to błąd.
Mam nadzieję, że to komuś pomoże
źródło