Loop in Jade (actuellement connu sous le nom de "Pug") modèle de moteur

Je veux utiliser une boucle simple comme for(int i=0; i<10; i++){} .

Comment puis-je l'utiliser dans le moteur Jade? Je travaille avec Node.js et j'utilise le framework expressjs.

par exemple:

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

Vous pouvez voir https://github.com/visionmedia/jade pour un document détaillé.

À l'aide du nœud, j'ai une collection de trucs @stuff et @stuff accède comme ceci:

 - each stuff in stuffs p = stuff.sentence 

Voici un fichier jade très simple qui a une boucle. Jade est très sensible à l'espace blanc. Après la ligne de définition de la boucle ( for ), vous devriez donner un retrait (onglet) à des éléments qui veulent entrer dans la boucle. Vous pouvez le faire sans {} :

 - 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] 

Une manière inhabituelle mais jolie de le faire

Sans index :

 each _ in Array(5) = 'a' 

aaaaa : aaaaa

Avec index :

 each _, i in Array(5) = i 

01234 : 01234

Remarques : Dans les exemples ci-dessus, j'ai attribué le paramètre val de la syntaxe itération de each jade à _ car il est nécessaire, mais sera toujours undefined .

Il suffit d'ajouter une autre possibilité, car cela pourrait aider quelqu'un qui essaye d'itérer sur un tableau et de maintenir un compte. Par exemple, le code ci-dessous passe par un tableau nommé items et affiche uniquement les 3 premiers éléments. Notez que les each et le sont jadis et n'ont pas besoin d'un trait d'union.

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

Vous pouvez également accélérer les choses avec une boucle while (voir ici: http://jsperf.com/javascript-while-vs-for-loops ). Aussi beaucoup plus discret et lisible IMHO:

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

Pug (renommé de 'Jade') est un moteur de modélisation pour le développement complet d'applications Web. Il fournit une syntaxe propre et propre pour l'écriture de HTML et maintient une empreinte stricte en blanc (comme Python). Il a été implémenté avec des API JavaScript. La langue supporte principalement deux constructions d'itérations: chacune et pendant. 'Pour' peut être utilisé à la place 'chacun'. Veuillez consulter la référence linguistique ici:

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

Voici un de mes extraits: chacun / pour l'itération dans pug_screenshot