通过在Jade / Pug中循环数组来创建手风琴ID

时间:2017-07-09 21:34:19

标签: javascript node.js pug

我有一个对象数组(组件),它的每个对象都有2个属性id和message。我想为每个对象创建手风琴,如下所示:

.alert.alert-danger(style='background-color: #ff8080; color:white; width:70%')
  #headingOne.panel-heading(role='tab', style='text-align: left')
    h4.panel-title
      a(role='button', data-toggle='collapse', data-parent='#accordion', href='#collapseOne', aria-expanded='true', aria-controls='collapseOne')
        i.more-less.glyphicon.glyphicon-plus
        |                Title
  #collapseOne.panel-collapse.collapse(role='tabpanel', aria-labelledby='headingOne')
    .panel-body Content

其中每个手风琴的id是动态的,并且是从我正在迭代的对象设置的。我已经验证了对象数组具有有效元素但无法获取动态生成的ID。任何帮助赞赏。

我到了这个版本但仍然无法正常工作。我在NodeJS服务器上的所有内容都是 - 内部错误

#accordion.panel-group(role='tablist', aria-multiselectable='true', align='center')
  each item in [1,2,3]
    .alert.alert-danger(style='background-color: #ff8080; color:white; width:70%')
      #headingOne.panel-heading(role='tab', style='text-align: left')
        h4.panel-title
          a(role='button', data-toggle='collapse', data-parent='#accordion', href='#collapse#{item}', aria-expanded='true', aria-controls='collapse#{item}')
            i.more-less.glyphicon.glyphicon-plus
            |                   Title
      div(id="collapse#{item}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne")
          div(class="panel-body")
            !{item} 

1 个答案:

答案 0 :(得分:1)

href='#collapse#{item}'

字符串中的变量不再渲染

如果你在帕格2.0。只需按照这种方式更改代码

href='#collapse'+item

我希望它对您有用!