Je veux utiliser une boucle simple comme for(int i=0; i<10; i++){}
.
Comment l'utiliser dans le moteur Jade ? Je travaille avec Node.js et utilise le framework expressjs.
Je veux utiliser une boucle simple comme for(int i=0; i<10; i++){}
.
Comment l'utiliser dans le moteur Jade ? Je travaille avec Node.js et 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é.
Salut qiao, j'ai un problème ici : LIEN J'ai résolu le problème par l'intermédiaire de <strong>alessioalex</strong>, mais maintenant j'ai un nouveau problème : Si avec ma structure de base de données comme ça, alors 1 album je peux stocker beaucoup de chansons, est-ce exact ? Et pourquoi dans app.js faire : var Album = db.model('Album'); var album = new Album(); album.songs.push({_id:'4f046b3bf71f5ed522000002'});
<br/>et j'obtiens l'erreur Cannot call method 'call' of undefined <br/>comment puis-je stocker à droite ?
C'est la manière canonique de faire cela selon jade-lang.com/reference/iteration . De plus, vous n'avez pas vraiment besoin de l'option -
devant le each
sur la première ligne, soit
Voici une méthode très simple jade
qui ont une boucle dans le fichier. Jade est très sensible aux espaces blancs. Après la ligne de définition de la boucle ( for
) vous devez donner une indentation (tabulation) aux éléments qui veulent aller à l'intérieur de 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]
Avez-vous une idée de la manière de supprimer les espaces entre les éléments générés de cette manière ?
J'ajoute juste une autre possibilité car cela pourrait aider quelqu'un qui essaie à la fois d'itérer sur un tableau ET de maintenir un compte. Par exemple, le code ci-dessous parcourt un tableau nommé items
et n'affiche que les 3 premiers éléments. Remarquez que le each
y el if
sont des jades natifs et n'ont pas besoin de 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 un while
boucle (voir ici : http://jsperf.com/javascript-while-vs-for-loops ). Il est également beaucoup plus concis et lisible, selon moi :
i = 10
while(i--)
//- iterate here
div= i
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.