考虑 Bootstrap Accordion :
<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">
但这不能编译。我想不出任何其他方法。我将不胜感激任何建议。
最佳答案
不要在属性中使用插值,而是使用绑定(bind)
<div class="card" v-for="(x,index) in response">
<div :id="index" class="collapse show" role="tabpanel" aria-labelledby="headingOne"></div>
</div>
关于html - 在 Vue.JS 中为 div 生成 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43248918/