Recherche…


Introduction

Pug peut exécuter le code de manière conditionnelle en fonction des variables (transmises depuis votre serveur ou basées sur Pug lui-même).

Syntaxe

  • si (déclaration)

    // Pug code
    
  • else if (statement)

    // Pug code
    
  • autre

    // Pug code
    
  • sauf si (déclaration)

    // Pug code
    

Paramètres

Paramètre Détails
si (déclaration) Evalue l' statement pour voir si elle renvoie true ou false. Le code imbriqué en dessous if s'exécutera uniquement si statement renvoie true.
else if (statement) Enchaîné à une instruction if ou else if existante; il ne s'exécute que si l'instruction précédente est évaluée à false. Le code imbriqué sous l'instruction else if s'exécutera uniquement si la valeur de l' statement true.
autre Le code imbriqué sous l'instruction else s'exécutera uniquement si toutes les instructions précédentes renvoyaient false.
sauf si (déclaration) La négation de if (statement) ; le code niché sous if ne fonctionnera que si la statement retourne false. C'est la même chose que if (!statement) .

Remarques

Documentation officielle PugJS sur les conditions

Déclaration If / Else en Carlin

Les conditions dans Pug peuvent évaluer les instructions d'une manière similaire à JavaScript. Vous pouvez évaluer les variables créées dans Pug ou celles transmises par votre route ( 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

sortie index.pug

<div class="login"><a href="/login">Login</a></div>

Déclaration If / Else dans Pug (avec un tiret)

Vous pouvez choisir d'ajouter un opérateur if ou else avec un tiret, mais ce n'est pas nécessaire. Vous devrez envelopper l'instruction entre parenthèses, cependant (si vous omettez un tiret, vous n'avez pas besoin de parenthèses).

- var showLogin = false;
- if (showLogin === true)
    .welcome Welcome back to our website!
- else
    .login
        a(href="/login") Login

sortie index.pug

<div class="login"><a href="/login">Login</a></div>

Sinon si déclaration

Vous pouvez enchaîner un nombre quelconque d'instructions else if à une instruction if existante pour évaluer une séquence d'instructions.

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

sortie index.pug

<h1>Lots of numbers!</h1>

À moins d'opérateur

unless l'opération inverse de if dans Pug. C'est analogue à if !(statement) .

index.pug

- var likesCookies = true;
unless likesCookies === true
    h2 You don't like cookies :(
else
    h2 You like cookies!

sortie index.pug

<h1>You like cookies!</h1>

Note : else unless instructions ne fonctionnent pas à unless ; vous pouvez enchaîner une instruction else if à une instruction unless , mais à else unless cela ne fonctionne pas.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow