vue 的 v-for 怎么循环显示两个div

<div class="row">
    <div v-for="(item, index) in items" v-bind:key="index" @click="show(index)">
        <div class="item"/>
        <div class="item_detail"/>
    </div>
</div>

我想得到的结果是

<div class="row">
    <div class="item"/>
    <div class="item_detail"/>
    <div class="item"/>
    <div class="item_detail"/>
    ……
</div>

实际返回的结果却是

<div class="row">
    <div>
        <div class="item"/>
        <div class="item_detail"/>
    </div>
    <div>
        <div class="item"/>
        <div class="item_detail"/>
    </div>
</div>

如果我单独对div循环则是

<div class="row">
    <div class="item"/>
    <div class="item"/>
    ……
    <div class="item_detail"/>        
    <div class="item_detail"/>
    ……
</div>

我应该怎么做才能循环返回并列的两个div呢?

阅读 20.1k
5 个回答

用模板就行了
<div class="row">

<template v-for="(item, index) in items" v-bind:key="index" @click="show(index)">
    <div class="item"/>
    <div class="item_detail"/>
</template>

</div>

考虑用 v-if 判断下 index 的奇偶

把div标签, 修改为用template标签包裹

 <template v-for="(item, index) in items" >
      <div class="item":key="index" />
      <div class="item_detail" />
    </template>

这样写可以的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题