Jade模板引擎 - 每次迭代偏移量

10
有没有一种方法在使用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个回答

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

2
谢谢!我最终使用了if - else来以不同的方式显示第一项(我使用的是partials,而不是我所给出的确切示例)。另外,我必须将i === 0设置为获取第一项。非常感谢! - Steve Mason
@Jackie 请查看我的答案,其中包含当前的解决方案和示例。 - Levi

2
如果@Johnathan的答案对您不起作用: 在Jade 1.7中,以下内容有效:
for item, i in list
    li= item
    if i === 0
        | : First item in list!

请注意0索引和1索引的区别。
请查看http://www.learnjade.com/tour/iteration/了解更多相关信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接