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 code
    
  • de lo contrario si (declaración)

    // Pug code
    
  • más

    // Pug code
    
  • a 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

Documentación oficial de PugJS sobre condicionales.

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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow