wake-up-neo.net

Loop-Engine in Jade (derzeit als "Pug" bekannt)

Ich möchte eine einfache Schleife wie for(int i=0; i<10; i++){} verwenden.

Wie verwende ich es in der Jade-Engine? Ich arbeite mit Node.js und verwende das expressjs-Framework.

52
Huy Tran

zum Beispiel: 

- for (var i = 0; i < 10; ++i) {
  li= array[i]
- }

sie können https://github.com/visionmedia/jade für ausführliches Dokument sehen.

87
qiao

Mit Knoten habe ich eine Sammlung von Sachen @stuff und greife wie folgt zu:

- each stuff in stuffs
  p
    = stuff.sentence
70
thenengah

Ein ungewöhnlicher, aber hübscher Weg

Ohne Index :

each _ in Array(5)
  = 'a'

Wird gedruckt werden: aaaaa

Mit Index :

each _, i in Array(5)
  = i

Wird gedruckt werden: 01234

Hinweise : In den Beispielen oben habe ich _ den Parameter val der Jade-Variante each Iteration zugewiesen, da dies erforderlich ist, aber undefined zurückgibt.

25

Hier ist eine sehr einfache jade-Datei, die eine Schleife enthält. Jade reagiert sehr empfindlich auf Leerräume. Nach der Schleifen-Definitionszeile (for) sollten Sie den Elementen, die in die Schleife gehen möchten, einen Einzug geben. Sie können dies ohne {} tun:

- var arr=['one', 'two', 'three'];
- var s = 'string';
doctype html
html
    head
    body
        section= s
        - for (var i=0; i<3; i++)
            div= arr[i]
16
Mohsen

Fügen Sie einfach eine weitere Möglichkeit hinzu, da dies jemandem helfen könnte, der versucht, über ein Array zu iterieren und gleichzeitig eine Zählung zu erhalten. Zum Beispiel durchläuft der folgende Code ein Array mit dem Namen items und zeigt nur die ersten drei Elemente an. Beachten Sie, dass each und if native Jade sind und keinen Bindestrich benötigen.

ul
  - var count = 0;
  each item in items
    if count < 3
      li= item.name
    - count++;
9
k00k

Sie könnten auch mit einer while-Schleife beschleunigen (siehe hier: http://jsperf.com/javascript-while-vs-for-loops ). Auch viel knapper und lesbarer IMHO:

i = 10
while(i--)
    //- iterate here
    div= i
5
SqrBrkt

Pug (umbenannt in 'Jade') ist eine Template-Engine für die Entwicklung von voll gestapelten Web-Apps. Es bietet eine saubere und saubere Syntax für das Schreiben von HTML und behält die strikte Einrückung von Whitespaces (wie Python) bei. Es wurde mit JavaScript-APIs implementiert. Die Sprache unterstützt hauptsächlich zwei Iterationskonstrukte: jeweils und während. 'for' kann stattdessen 'each' verwendet werden. Bitte konsultieren Sie die Sprachreferenz hier:

https://pugjs.org/language/iteration.html

Hier ist einer meiner Ausschnitte: each/für die Iteration in pug_screenshot

0