ng-repeat指令在迭代對象時的去重方法
剛剛遇到一個問題:
在使用AngularJS的ng-repeat指令時,遇到了數(shù)據(jù)重復(fù)出現(xiàn)的問題。
可能有的人會想到,ng-repeat迭代時,遇到重復(fù)的數(shù)據(jù)不是會報(bào)錯么?
當(dāng)然了,如果你迭代的是數(shù)組,而且數(shù)據(jù)類型時字符串或者數(shù)字時,ng-repeat指令就會自動報(bào)錯。而且解決辦法也很簡單, 加個track by $index就能解決。
而我的問題是,在迭代對象時,因?yàn)閷ο笾杏兄貜?fù)的數(shù)據(jù),而我需要的是重復(fù)的數(shù)據(jù)只顯示一條,也就是去重。因?yàn)榈氖菍ο?,所以ng-repeat并不會給你報(bào)錯,而是會一條一條的給你遍歷出來。
百度了很久都沒有相關(guān)的問題,最后只能自己琢磨了。
以上是問題。
如何解決呢?
很簡單,下面是解決辦法,直接上代碼:
<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指令,即加一條判斷語句,如果遍歷過程中的一條數(shù)據(jù)和上一條的數(shù)據(jù)相同,那么就會觸發(fā)hide事件,自然就去重了。
以上就是解決辦法。希望對大家有用。
這篇ng-repeat指令在迭代對象時的去重方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
AngularJS基礎(chǔ) ng-readonly 指令簡單示例
本文主要介紹AngularJS ng-readonly 指令,這里對ng-readonly指令的資料做了整理,有學(xué)習(xí)AngularJS 指令的同學(xué)可以參考下2016-08-08
詳解angular筆記路由之a(chǎn)ngular-router
本篇文章主要介紹了詳解angular筆記路由之a(chǎn)ngular-router,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法
今天小編就為大家分享一篇AngularJs1.x自定義指令獨(dú)立作用域的函數(shù)傳入?yún)?shù)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Angularjs注入攔截器實(shí)現(xiàn)Loading效果
angularjs作為一個全ajax的框架,對于請求,如果頁面上不做任何操作的話,在結(jié)果反回來之前,頁面是沒有任何響應(yīng)的,不像普通的HTTP請求,會有進(jìn)度條之類2015-12-12
Angular中使用響應(yīng)式表單的詳細(xì)步驟
Angular提供了兩種處理表單的方式模板驅(qū)動表單和響應(yīng)式表單(也稱為模型驅(qū)動表單),使用模板驅(qū)動表單時,模板指令被用來構(gòu)建表單的內(nèi)部表示,在本文中,您探討了如何將響應(yīng)式表單應(yīng)用于一個示例 Angular 應(yīng)用程序2024-02-02
Angular應(yīng)用的多語言設(shè)置問題解決示例
這篇文章主要為大家介紹了Angular應(yīng)用的多語言設(shè)置問題解決示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

