玉模板引擎 - 每个迭代偏移

时间:2012-04-04 02:07:56

标签: node.js foreach express template-engine pug

有没有办法在使用Jade模板引擎时抵消'each'迭代?

例如,在传入名为list的对象时:

ul
   each item in list
      li #{item}

将输出

<ul>
   <li> Item 1 </li>
   <li> item 2 </li>
   <li> item 3.....
...
</ul>

但是我希望第一个项目的显示方式与其他项目不同,如下所示:

<ul>
   <li> Item 1: First Item in list! </li>
   <li> item 2 </li>
   <li> item 3.....
...
</ul>

那么有没有人知道一种方法来抵消Jade中的'each'语句,这样我就可以分别渲染第一个项目,然后从第二个索引开始渲染每个后续项目?

2 个答案:

答案 0 :(得分:21)

each item, i in list
  li= item
  if i === 1
    | : First item in list!

答案 1 :(得分:2)

如果@ Johnathan的回答不适合你: 在Jade 1.7中,以下作品:

for item, i in list
    li= item
    if i === 0
        | : First item in list!

http://www.learnjade.com/tour/iteration/

另请注意0指数vs 1指数。