內置過濾器json
一、currency(貨幣處理)數組
currency能夠將數字格式轉化爲貨幣的形式,若是不傳參數,默認爲$。函數
1 {{num|currency:"¥"}}
展示的形式爲¥xxx。spa
二、date(日期格式化)調試
angular中提供的date過濾器可以知足通常的時間格式要求。code
{{date|date:'y-m-d h:m:s EEEE'}}
展示形式爲:年-月-日 時:分:秒 星期,它們之間的格式能夠自由組合,脫離了原生js中的單調和複雜性。對象
三、filter(匹配字符串)blog
filter用來處理數組,而後能夠挑選出含有的所選中的子串元素,做爲子數組來返回。能夠是字符串數組,也能夠是對象數組。若是是對象數組,能夠匹配屬性的值,它接受一個參數,來定義子串的規則。排序
1 $scope.arr = ["Monday","Tuesday","星期三","星期四","週五","週六"];
1 <li>{{arr|filter:'d'}}</li> 2 <li>{{arr|filter:'周'}}</li>
它能選出數組中含有字母「d」、含有漢子「周」的元素,而後分別以數組的形式返回。ip
四、json(格式化json對象)
json過濾器能夠把一個js對象格式化爲json字符串,沒有參數。這東西有什麼用呢,官網說它 能夠用來進行調試,嗯,是個不錯的選擇。或者,也能夠用在js中使用,做用就和咱們熟悉的JSON.stringify()同樣。
1 {{ jsonTest | json}}
五、limitTo(限制數組長度或字符串長度)
limitTo過濾器用來截取數組或者字符串的長度,接收一個參數用來指定要截取的數組或者字符串的長度,若是值爲負數,那麼就從數組或者字符串的尾部開始截取。
1 <li>{{arr|limitTo:'3'}}</li>
它會截取數組arr的前三位,而後以數組的形式返回。
六、lowercase(小寫格式)
把英文字母所有轉化成小寫的形式,也沒有太大的用處。沒有參數。
<li>{{da|lowercase}}</li>
這裏只能轉換英文,遇到其餘的則不轉換。
七、uppercase(大寫格式)
這個的寫法跟lowercase相同。
八、number(格式化數字)
number過濾器能夠爲一串數字進行分位,至關於千位分割符,如:123,456,789。能夠接收一個參數,指定float類型保留幾位小數。
<li>{{num|number:2}}</li>
這個就表示保留小數點後兩位。
九、orderBy(排序)
orderBy過濾器能夠將數組中的元素進行排序,接收一個參數指定排序的規則,參數能夠是字符串,表示以這個屬性名稱進行排序;能夠是一個函數,定義排序屬性;能夠是一個數組,表示依次按數組的屬性值進行排序。
1 $scope.err = [ 2 {name : 'jack',age : 30}, 3 {name : 'mack',age : 24}, 4 {name : 'sunny',age : 28}, 5 {name : 'jim',age : 20}, 6 ]
1 <li>{{err|orderBy:'age':true}}</li>
這個就是以age的從大到小進行排序。
自定義過濾器
1 <div ng-controller = 'con'> 2 <div>{{msg|prz}}</div> 3 </div> 4 <script src="public/libs/angular/angular.min.js"></script> 5 <script> 6 var App = angular.module('App',[]); 7 App.controller('con',['$scope',function($scope){ 8 $scope.msg = 'you can kill'; 9 }]) 10 App.filter('prz',function(){ 11 return function(z){ 12 return z[0].toUpperCase()+z.slice(1); 13 } 14 }) 15 </script>
上面代碼表示,自定義一個首字母大寫的過濾器。