循环在Jade(当前称为“Pug”)模板引擎

我想要使​​用一个简单的循环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的数组,并且只显示前三个项目。 请注意, eachif是本地玉,不需要连字符。

 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 

帕格(更名为“翡翠”)是一个模板引擎的全栈Web应用程序开发。 它为编写HTML提供了一个整洁干净的语法,并保持严格的空格缩进(如Python)。 它已经使用JavaScript API来实现。 该语言主要支持两个迭代构造:每个和每个时间。 'for'可以用来代替'each'。 请查阅这里的语言参考:

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

这是我的一个片段: 每个/ pug_screenshot迭代