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>

这样写可以的

推荐问题