您好,登錄后才能下訂單哦!
剛剛遇到一個問題:
在使用AngularJS的ng-repeat指令時,遇到了數據重復出現的問題。
可能有的人會想到,ng-repeat迭代時,遇到重復的數據不是會報錯么?
當然了,如果你迭代的是數組,而且數據類型時字符串或者數字時,ng-repeat指令就會自動報錯。而且解決辦法也很簡單, 加個track by $index就能解決。
而我的問題是,在迭代對象時,因為對象中有重復的數據,而我需要的是重復的數據只顯示一條,也就是去重。因為迭代的是對象,所以ng-repeat并不會給你報錯,而是會一條一條的給你遍歷出來。
百度了很久都沒有相關的問題,最后只能自己琢磨了。
以上是問題。
如何解決呢?
很簡單,下面是解決辦法,直接上代碼:
<select v-model="option" > <option value="">--------請選擇--------</option> <option v-repeat="item in deals" v-hide="deals[$index].accNum == deals[$index+1].accNum">{{item.accNum}}</option> </select>
搭配使用一個ng-hide指令,即加一條判斷語句,如果遍歷過程中的一條數據和上一條的數據相同,那么就會觸發hide事件,自然就去重了。
以上就是解決辦法。希望對大家有用。
這篇ng-repeat指令在迭代對象時的去重方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。