pug
Conditionnels
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 codeelse if (statement)
// Pug codeautre
// Pug codesauf 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
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.