您好,登錄后才能下訂單哦!
在做vue項目的時候難免會用到循環,可是但我們后臺數據返回多條記錄而且是多層嵌套關系的時候,我們需要獲取當前第幾次循環此時就會出現問題。
下面給大家介紹兩種方式,第一種是基于數學公式:第一次循環*(第二次循環總長度)+1+第二次循環 可以獲取當前第幾次循環
第二種方法:是在方法中進行計算返回當前下標。廢話不多說先看一下效果吧
具體代碼如下:
測試數據json字符串:
parentList: [{ childList: [{ index: 1, childName: "第一個節點" }, { index: 2, childName: "第一個節點" }, { index: 3, childName: "第一個節點" }, { index: 4, childName: "第一個節點" }, { index: 5, childName: "第一個節點" }] }, { childList: [{ index: 6, childName: "第二個節點" }, { index: 7, childName: "第二個節點" }, { index: 8, childName: "第二個節點" }, { index: 9, childName: "第二個節點" }, { index: 10, childName: "第一個節點" }] }, { childList: [{ index: 11, childName: "第二個節點" }, { index: 12, childName: "第二個節點" }, { index: 13, childName: "第一個節點" }, { index: 14, childName: "第一個節點" }, { index: 15, childName: "第一個節點" }] }]
頁面HTML 具體代碼:
<template> <div class="hello"> <h2>獲取多層循環的總行數</h2> <table border="1" width="50%" align="center"> <tr> <td>父循環第幾次</td> <td>子循環第幾次</td> <td>第一種辦法</td> <td>第二種辦法</td> <td>json字符串中的行數</td> <td>數值</td> </tr> <tbody v-for="parent,index in parentList" :key="index"> <tr v-for="child,cindex in parent.childList" :key="child.index"> <td>{{index}}</td> <td>{{cindex}}</td> <td olor="red"> <font size="3" color="red">{{index*(parent.childList.length)+1+cindex}}</font></td> <td><font size="3" color="red">{{getIndex()}}</font></td> <td>{{child.index}}</td> <td>{{child.childName}}</td> </tr> </tbody> </table> </div> </template>
第二種獲取下標的方法:
methods:{ getIndex(){ if (!this.index){ this.index=1 }else{ this.index++ } return this.index } }
這樣我們就輕松的獲取到當前循環第幾行啦。
以上這篇基于vue v-for 多層循環嵌套獲取行數的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。