e se sim, qual é a sintaxe? Meu objetivo é adicionar um 's' antes da palavra 'comentário' quando houver mais de um. em um modelo jQuery.ejs em um aplicativo JMVC. As seguintes pausas. Não consigo encontrar nenhum documento para condicionais ...
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
conditional-statements
ejs
Regis Zaleman
fonte
fonte
Respostas:
Para outros que tropeçam nisso, você também pode usar ejs params / props em declarações condicionais:
Arquivo recipes.js:
Arquivo recipes.ejs:
fonte
include
declaração, escrever o inline condicional? Isso está escrevendo<% if (true) { include foo/bar } %>
parece um erro. Existe um método semelhante ou é necessário quebrar oinclude
by<% %>
.As condicionais funcionam se estiverem estruturadas corretamente. Encontrei esse problema e descobri.
Para condicionais, a tag anterior
else
deve ser emparelhada com a tag final da anterior,if
caso contrário, as instruções serão avaliadas separadamente e produzirão um erro.ERRO!
Corrigir
espero que isso tenha ajudado.
fonte
else
linha em uma linha diferente, como o primeiro bloco de código que você mencionou. Muito obrigado por incluir esses exemplos !!EJS parece se comportar de maneira diferente dependendo se você usa {} notação ou não:
Eu verifiquei e a seguinte condição foi avaliada como você esperaria:
enquanto este não:
fonte
Sim, você pode usar a instrução condicional com EJS como if else, operador ternário ou até mesmo switch case também
Por exemplo
Operador ternário :
<%- role == 'Admin' ? 'Super Admin' : role == 'subAdmin' ? 'Sub Admin' : role %>
Caixa de troca
fonte
Você também pode usar a
else if
sintaxe:fonte
Eu sei que esta é uma resposta um pouco atrasada,
você pode usar as instruções if e else em ejs como segue
Mas há outra coisa que quero enfatizar é que, se você usar o código dessa forma,
Isso produzirá um erro.
Espero que isso ajude alguém
fonte