【问题标题】:Generating ids for divs in Vue.JS在 Vue.JS 中为 div 生成 id
【发布时间】:2017-09-01 02:44:50
【问题描述】:

考虑 Bootstrap 手风琴:

  <div class="card">
    <div class="card-header" role="tab" id="headingOne">
      <div data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
       i'm not collapsed
    </div>

    <div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne">
      <div class="card-block">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird
        on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table,
        raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>

      </div>

我想用 vue 动态生成里面的卡片,所以我可以在卡片上添加这一行:

  <div class="card" v-for="x in response">

它会为每个人生成一张卡片。但是,它们都引用相同的 id 进行折叠,因此只有其中一个打开/关闭。

为了解决这个问题,我尝试改变id来改变这些行:

  <div class="card" v-for="(x,index) in response">

 <div id="{{index}}" class="collapse show" role="tabpanel" aria-labelledby="headingOne">

但这不会编译。我想不出任何其他方法来解决这个问题。我会很感激任何建议。

【问题讨论】:

    标签: html css twitter-bootstrap vue.js


    【解决方案1】:

    不要在属性中使用插值,而是使用绑定

    <div class="card" v-for="(x,index) in response">
      <div :id="index" class="collapse show" role="tabpanel" aria-labelledby="headingOne"></div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      相关资源
      最近更新 更多