y si es así, ¿cuál es la sintaxis? Mi objetivo es anteponer una 's' a la palabra 'comentario' cuando hay más de una. en una plantilla jQuery.ejs en una aplicación JMVC. Los siguientes descansos. No puedo encontrar ningún documento para condicionales ...
<%=commentsNumber%> comment<% if (commentsNumber > 1) { %> s <% } %>
conditional-statements
ejs
Regis Zaleman
fuente
fuente
Respuestas:
Para otros que tropiezan con esto, también puede usar ejs params / props en declaraciones condicionales:
Archivo recipes.js:
Archivo recipes.ejs:
fuente
include
declaración, escribir el condicional en línea? Eso es escribir<% if (true) { include foo/bar } %>
parece un error. ¿Hay un método similar o es necesario para romper elinclude
por<% %>
.Los condicionales funcionan si están estructurados correctamente, me encontré con este problema y lo resolví.
Para los condicionales, la etiqueta anterior
else
debe emparejarse con la etiqueta final de la anterior; de loif
contrario, las declaraciones se evaluarán por separado y producirán un error.¡ERROR!
Correcto
Espero que esto ayude.
fuente
else
en una línea diferente como el primer bloque de código que mencionaste. ¡¡Muchas gracias por incluir estos ejemplos !!EJS parece comportarse de manera diferente dependiendo de si usa la notación {} o no:
He verificado y se evalúa la siguiente condición como era de esperar:
mientras que este no:
fuente
Sí, puede usar una declaración condicional con EJS como si no, operador ternario o incluso cambiar caso también
Por ejemplo
Operador ternario :
<%- role == 'Admin' ? 'Super Admin' : role == 'subAdmin' ? 'Sub Admin' : role %>
Caja del interruptor
fuente
También puede utilizar la
else if
sintaxis:fuente
Sé que esta es una respuesta un poco tardía
puede usar declaraciones if y else en ejs de la siguiente manera
Pero hay otra cosa que quiero enfatizar es que si usa el código de esta manera,
Producirá un error.
Espero que esto ayude a alguien
fuente