Я хочу использовать простой цикл, например for(int i=0; i<10; i++){}
.
Как использовать его в Jade-движке? Я работаю с Node.js и использую фреймворк expressjs.
Я хочу использовать простой цикл, например for(int i=0; i<10; i++){}
.
Как использовать его в Jade-движке? Я работаю с Node.js и использую фреймворк expressjs.
например:
- for (var i = 0; i < 10; ++i) {
li= array[i]
- }
вы можете увидеть https://github.com/visionmedia/jade подробный документ.
Использование node У меня есть набор материалов @stuff
и доступ к нему следующим образом:
- each stuff in stuffs
p
= stuff.sentence
Необычный, но красивый способ сделать это
Без индекса:
each _ in Array(5)
= 'a'
Будет напечатан: aaaaa
С индексом:
each _, i in Array(5)
= i
Будет напечатан: 01234
Примечания. В приведенных выше примерах я назначил параметр val
синтаксиса итерации jade each
на _
, потому что это необходимо, но всегда будет возвращать undefined
.
Вот очень простой файл jade
, в котором есть цикл. Джейд очень чувствительна к пробелу. После строки определения цикла (for
) вы должны указывать отступ (вкладку) для того, что хотите пройти внутри цикла. Вы можете сделать это без {}
:
- 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]
Просто добавьте еще одну возможность, так как это может помочь кому-то, кто пытается итерации по массиву И поддерживать счет. Например, приведенный ниже код проходит через массив с именем items
и отображает только первые 3 элемента. Обратите внимание, что each
и if
являются родным нефритом и не нуждаются в дефис.
ul
- var count = 0;
each item in items
if count < 3
li= item.name
- count++;
Вы также можете ускорить процесс с помощью цикла while
(см. здесь: http://jsperf.com/javascript-while-vs-for-loops). Также гораздо более кратким и разборчивым ИМХО:
i = 10
while(i--)
//- iterate here
div= i
Pug (переименованный из "Jade" ) - это шаблонный движок для разработки полного веб-приложения стека. Он обеспечивает аккуратный и чистый синтаксис для написания HTML и поддерживает строгий отступ в виде пробелов (например, Python). Он был реализован с помощью API JavaScript. Язык в основном поддерживает две итерационные конструкции: каждый и одновременно. "for" может использоваться вместо "каждый". Пожалуйста, обратитесь к языковой ссылке здесь:
https://pugjs.org/language/iteration.html
Вот один из моих фрагментов: каждый/для итерации в pug_screenshot