[英]Loop in Jade (currently known as “Pug”) template engine
我想使用像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
)之后,你应该给想要进入循环的东西一个缩进(制表符)。 你可以不用{}
来做到这一点:
- 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'重命名)是用于完整堆栈Web应用程序开发的模板引擎。 它为编写HTML提供了一个干净整洁的语法,并维护严格的空白缩进(如Python)。 它已使用JavaScript API实现。 该语言主要支持两种迭代结构:each和while。 'for'可以代替'each'使用。 请在此查阅语言参考:
https://pugjs.org/language/iteration.html
这是我的一个片段: 每个/用于pug_screenshot中的迭代
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.