Vue中使用v-for实现一对多数据的2层和3层嵌套循环
生活随笔
收集整理的這篇文章主要介紹了
Vue中使用v-for实现一对多数据的2层和3层嵌套循环
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
場景
業務場景中常有一對多的情況。
后端在給前端返回數據時是一個對象的list,為每個對象的有一個屬性
是多的那個的對象的list。
比如后臺給前端返回的數據示例如下
?
那么在Vue中怎樣將這個一對多的數據循環都顯示出來。
注:
博客:
https://blog.csdn.net/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>實現效果
?
總結
以上是生活随笔為你收集整理的Vue中使用v-for实现一对多数据的2层和3层嵌套循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis中使用YEAR和MONTH
- 下一篇: Java中怎样根据对象list的某对象的