AngularJS中過濾器filter的精確匹配

2021-09-23 14:09:07 字數 1405 閱讀 9610

angular的filter中過濾都是模糊過濾的,也就是只要屬性中包含filter的關鍵字就可以被過濾出來,比如filter:1,那麼屬性中的10、4881、1等包含1的數字都能被過濾出來:

示例:

$scope.employees =[,,,

,,];

name

phone

id }}}

結果:

解決方案:若想精確匹配,如上要匹配出id為101的那條資料,在filter最後加上 :true 即可。

name

phone

id }}}

結果:

專案開發遇到的坑:一旦為精確匹配後,變數的值和型別都要完全匹配才能過濾出來。我就遇到,過濾關鍵字型別為字串型別,而列表中為數字,所以就沒有成功過濾。因為關鍵字取的後台返回的資料所以當時沒注意,遇到這種情況,如果在js中處理後台返回的資料也就是將字串轉為數字會比較麻煩且影響效能,採用這種小技巧:在字串前面直接加上 + 號,這樣就會強制將字串型別變數轉換為數字型別了。

name

phone

id }}}

如上:在模糊匹配時id為字串型別是沒有影響的,因為filter過濾時,做了型別轉換。

但是!在精確匹配下就無法匹配出字串型別的型別的匹配值,如下:

解決方案:在filter變數名前加上 + 號

name

phone

id }}}

結果

也就是說:

AngularJs的過濾器

所謂過濾器就是過濾得到自己想要的資料 currency 格式化數字為貨幣格式。filter 從陣列項中選擇乙個子集。lowercase 格式化字串為小寫。orderby 根據某個表示式排列陣列。uppercase 格式化字串為大寫。uppercase 過濾器將字串格式化為大寫 divng contr...

AngularJs 七 過濾器(filter)

過濾器 filter 正如其名,作用就是接收乙個輸入,通過某個規則進行處理,然後返回處理後的結果。主要用在資料的格式化上,例如獲取乙個陣列中的子集,對陣列中的元素進行排序等。ng內建了一些過濾器,它們是 currency 貨幣 date 日期 filter 子串匹配 json 格式化json物件 l...

angularjs過濾器的學習

1.ng內建了一些過濾器,它們是 currency 貨幣 date 日期 filter 子串匹配 匹配屬性值中含有a的 匹配屬性值中含有4的 引數是物件,匹配name屬性中含有i的 引數是函式,指定返回age 4的 json 格式化json物件 json過濾器可以把乙個js物件格式化為json字串,...