場景
業務場景中常有一對多的情況。
后端在給前端返回數據時是一個對象的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>
實現效果


