pug
Condicionales
Buscar..
Introducción
Pug puede ejecutar condicionalmente código basado en variables (pasadas desde su servidor o basadas en Pug).
Sintaxis
si (declaración)
// Pug codede lo contrario si (declaración)
// Pug codemás
// Pug codea menos que (declaración)
// Pug code
Parámetros
| Parámetro | Detalles |
|---|---|
| si (declaración) | Evalúa la statement para ver si devuelve verdadero o falso. El código anidado debajo if se ejecutará solo si la statement devuelve verdadero. |
| de lo contrario si (declaración) | Encadenado a una declaración existente if o else if ; solo se ejecuta si la sentencia anterior fue evaluada como falsa. El código anidado debajo de la sentencia else if solo se ejecutará si la statement evalúa como verdadera. |
| más | El código anidado debajo de la instrucción else solo se ejecutará si todas las declaraciones anteriores devolvieron falso. |
| a menos que (declaración) | La negación de if (statement) ; el código anidado debajo if se ejecutará solo si la statement devuelve falso. Es lo mismo que if (!statement) . |
Observaciones
Si / otra declaración en Pug
Los condicionales en Pug pueden evaluar declaraciones de una manera similar a JavaScript. Puede evaluar las variables creadas en Pug o las que le haya pasado su ruta ( res.render , pug.renderFile , etc.).
index.js
var authorized = true
res.render("index", {
authorized: authorized
});
index.pug
- var showLogin = false;
if authorized && showLogin === true
.welcome Welcome back to our website!
else
.login
a(href="/login") Login
salida de index.pug
<div class="login"><a href="/login">Login</a></div>
Declaración If / Else en Pug (con un guión)
Puede elegir anteponer un operador if o else con un guión, pero no es necesario. Sin embargo, deberá ajustar la declaración entre paréntesis (si omite un guión, no necesita paréntesis).
- var showLogin = false;
- if (showLogin === true)
.welcome Welcome back to our website!
- else
.login
a(href="/login") Login
salida de index.pug
<div class="login"><a href="/login">Login</a></div>
Otra cosa si declaración
Puede encadenar cualquier número de sentencias else if a una sentencia if existente, para evaluar una secuencia de sentencias.
index.pug
- var page = 60;
if page => 52
h1 Lots of numbers!
else if page > 26 && page < 52
h1 A few numbers
else
h1 Not a lot of numbers
salida de index.pug
<h1>Lots of numbers!</h1>
A menos que el operador
unless sea la operación inversa de if en Pug. Es análogo a if !(statement) .
index.pug
- var likesCookies = true;
unless likesCookies === true
h2 You don't like cookies :(
else
h2 You like cookies!
salida de index.pug
<h1>You like cookies!</h1>
Nota : else unless declaraciones no funcionen a unless ; puede encadenar una sentencia else if en una sentencia a unless que else unless , pero a else unless que no funcione.