如何使用 pug 迭代内联变量

问题描述 投票:0回答:2

我试图迭代一个数组,每次都向内联 pug 变量添加 1。到目前为止,这就是我得到的。

ul(class="benchcards")
            - var i = -1
            each card in cards
                -var L = i + 1
                li
                    a.btn(href="/addmonster" + L)
                        div=card.name
                        div= "Attack: "+card.attack
                        div= "HP: "+card.hp
                        div= "Attribute: "+card.attribute
                        div= "Energy: "+card.energy

当我运行页面时,“L”始终= 0。我希望它每次都加1。 问题实际上归结为我做错了什么?

javascript pug each
2个回答
0
投票

正如评论中所说,您不会增加

i
,您可以像这样解决您的问题:

ul.benchcards
  - var i = -1;
  each card in cards
    li
      a.btn(href='/addmonster' + i++)
        div= card.name
        div= 'Attack: ' + card.attack
        div= 'HP: ' + card.hp
        div= 'Attribute: ' + card.attribute
        div= 'Energy: ' + card.energy

0
投票

最好使用 Pug

each
迭代器内置的 索引。这样您就不必声明或增加变量。

ul.benchcards
  each card, i in cards
    li
      a.btn(href=`/addmonster${i}`)
        div #{card.name}
        div Attack: #{card.attack}
        div HP: #{card.hp}
        div Attribute: #{card.attribute}
        div Energy: #{card.energy}
© www.soinside.com 2019 - 2024. All rights reserved.