我想使用像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
使用节点,我有一个东西@stuff
的集合,并像这样访问它:
- each stuff in stuffs
p
= stuff.sentence
一个不寻常但很漂亮的方法
没有指数:
each _ in Array(5)
= 'a'
将打印:aaaaa
:
each _, i in Array(5)
= i
将打印:01234
注释:在上面的例子中,我已经将jade的each
迭代语法的val
参数赋值给_
,因为它是必需的,但将始终返回undefined
。
这是一个非常简单的jade
文件,其中有一个循环。玉对留白非常敏感。在循环定义行(for
)之后,你应该给想要进入循环的东西一个缩进(tab)。你可以不使用{}
:
- 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)。也更简洁易读IMHO:
i = 10
while(i--)
//- iterate here
div= i
Pug(从'Jade'重命名)是一个用于全栈web应用开发的模板引擎。它为编写HTML提供了整洁的语法,并保持了严格的空白缩进(像Python一样)。它是用JavaScript api实现的。该语言主要支持两种迭代结构:each和while。for可以代替each。请参考此处的语言参考:
https://pugjs.org/language/iteration.html这是我的一个片段:pug_screen