Gibt es eine Möglichkeit, dies in einer Jade-Vorlage inline zu tun?
if(typeof fromEdit != 'undefined')
div#demo.collapse.in
else
div#demo.collapse
Möchte diese bedingte Prüfung "inline" durchführen und das Ergebnis würde die .in am Ende des div hinzufügen, wenn fromEdit existiert.
javascript
node.js
express
pug
jstevens13
quelle
quelle
a(class=(selectNav=='myprofile' && 'selected'), href='...')
Antworten:
Das funktioniert:
div#demo.collapse(class=typeof fromEdit === "undefined" ? "" : "in")
Probieren Sie es hier aus .
quelle
class
Attribut hat, wenn die Bedingung falsch ist./turn/ ${tasks[i]._id}
) Fertig Fehler anzeigen Die Eigenschaft 'status' von undefined kann nicht gelesen werdenWenn Sie nicht möchten, dass das Klassenattribut hinzugefügt wird, wenn kein Wert vorhanden ist, können Sie es anstelle einer leeren Zeichenfolge undefiniert zuweisen. Hier ist das vorherige Beispiel, leicht modifiziert:
div#demo.collapse(class=typeof fromEdit === "undefined" ? undefined : "in")
Update: Wenn Sie Mops verwenden , können Sie jetzt beliebig viele
class=
Deklarationen mit unterschiedlichen Bedingungen hinzufügen , die im resultierenden Klassenattribut verkettet werden. z.B:#demo.collapse(class=cond1 && 'class1' class=cond2 && 'class2')
quelle
Wie unter http://jade-lang.com/reference/attributes/ dokumentiert :
Die Aufgabe kann auch wie folgt ausgeführt werden:
div#demo.collapse(class={ in: typeof fromEdit != 'undefined' })
Es funktioniert zwar hier nicht http://naltatis.github.com/jade-syntax-docs/ (ich denke, sie müssen etwas aktualisieren), aber es funktioniert mit [email protected].
quelle
Mit Mops 2 können Sie diese Syntax verwenden:
div#demo(class="collapse", class={"in": typeof fromEdit !== 'undefined'}) Home page
mehr hier: https://pugjs.org/language/attributes.html
quelle
Obwohl es sich um eine alte Frage handelt, stelle ich fest, dass Folgendes funktioniert, da Pug die integrierte Erkennung der Objektexistenz enthält:
div#demo.collapse(class=fromEdit? 'in':undefined)
Wenn dies nicht offensichtlich ist, wird überprüft, ob es
fromEdit
vorhanden ist und ob esin
als Klasse eingegeben wird. Andernfalls bleibt die Klasse leer.quelle