700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Vue中使用v-for实现一对多数据的2层和3层嵌套循环

Vue中使用v-for实现一对多数据的2层和3层嵌套循环

时间:2020-05-08 21:02:07

相关推荐

Vue中使用v-for实现一对多数据的2层和3层嵌套循环

场景

业务场景中常有一对多的情况。

后端在给前端返回数据时是一个对象的list,为每个对象的有一个属性

是多的那个的对象的list。

比如后台给前端返回的数据示例如下

那么在Vue中怎样将这个一对多的数据循环都显示出来。

注:

博客:

/badao_liumang_qizhi

关注公众号

霸道的程序猿

获取编程相关电子书、教程推送与免费下载。

实现

实现两层循环嵌套

<div v-for="(item,index) in this.bcxingxidata" :key="index"><divv-if="item.bclx=='0'"><h1 style="color:red">班次名称:{{item.bcmc}}</h1><ul v-for="(data,k) in item.bcglXiangXiList" :key="k"><li>打卡时间段{{k+1}}:{{data.dkkssj}}--{{data.dkjssj}}</li></ul></div><divv-if="item.bclx=='1'"><h1 style="color:red">班次名称:{{item.bcmc}}</h1><ul v-for="(data,k) in item.bcglXiangXiList" :key="k"><li>最早下井时间:{{data.dkkssj}}</li><li>最晚下井时间:{{data.dkjssj}}</li><li>最短下井时长:{{data.zxjxljsj}}</li><li>最长下井时长:{{data.zdjxljsj}}</li></ul></div></div>

使用外面一层的item即代表每个对象,获取其多的那个list再次进行循环。

这里是使用了v-if进行了判断,根据外层循环的某属性的不同值显示不同的模板。

实现效果

如果是三层嵌套循环或者更多的话同上

<div v-for="(item,index) in this.bczxingxidata" :key="index"><h1 style="color:red">班次组名称:{{item.bczmc}}</h1><div v-for="(ele,j) in item.kqBcglList" :key="j"><h2>班次名称:{{ele.bcmc}}</h2><div v-if="ele.bclx=='0'"><ul v-for="(data,k) in ele.bcglXiangXiList" :key="k"><li>打卡时间段{{k+1}}:{{data.dkkssj}}--{{data.dkjssj}}</li></ul></div><div v-if="ele.bclx=='1'"><ul v-for="(data,k) in ele.bcglXiangXiList" :key="k"><li>最早下井时间:{{data.dkkssj}}</li><li>最晚下井时间:{{data.dkjssj}}</li><li>最短下井时长:{{data.zxjxljsj}}</li><li>最长下井时长:{{data.zdjxljsj}}</li></ul></div></div></div>

实现效果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。