2012-04-04 6 views
10

ジェイドテンプレートエンジンを使用する際に、それぞれの繰り返しを相殺する方法はありますか?例えばジェイドテンプレートエンジン - 各イテレーションオフセット

、リストという名前のオブジェクトを渡す:

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> 

誰もが玉の中で「each」ステートメントを相殺する方法を知っているので最初の項目を別々に表示し、2番目の項目から次の各項目を表示しますか?

答えて

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

ありがとうございます!私はif - elseを使って最初のアイテムを別の方法で表示しました(私が与えた正確な例ではなく、partialsを使っています)。また、最初のアイテムを取得するためにi === 0にしなければなりませんでした。どうもありがとう! –

+2

Oopsがそのlolを忘れた –

+0

現在Jade4Jで動作しない:-( – Jackie

2

ジョナサンの答えはあなたのために動作しない場合は、@:ジェイド1.7で 次作品:

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

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

はまた、1つのインデックス対0のインデックスを注意してください。