日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

深究AngularJS——过滤器(filter)

發(fā)布時間:2025/3/20 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深究AngularJS——过滤器(filter) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫這個的目的是希望能學(xué)會如何在指令里加入自己的過濾器。

1.關(guān)于過濾器你需要了解這些

1.過濾器的作用

是將我們的現(xiàn)有的數(shù)據(jù)進(jìn)行處理,比如重排序、轉(zhuǎn)換大小寫、計算等等,處理完了再返回一個結(jié)果。

2.AngularJS自帶的過濾器

過濾器描述
currency格式化數(shù)字為貨幣格式。
filter從數(shù)組項中選擇一個子集。
lowercase格式化字符串為小寫。
orderBy根據(jù)某個字段屬性重新排序。
uppercase格式化字符串為大寫。

3.使用過濾器

可在如下三個地方使用過濾器,在頁面上使用時,通過一個管道符(|)和過濾器名字,

<body> <div ng-app="myApp" ng-controller="myCtrl"> <!-- 1.在表達(dá)式中使用過濾器 --><h1>{{"xywz" | uppercase}}</h1><!-- 2.在指令中使用過濾器 --><p ng-repeat="r in data |orderBy :'time'">{{r.result}}</p> </div><script>var app = angular.module('myApp', []);//3.控制器中使用過濾器app.controller('myCtrl', function($scope, $filter) {$scope.data = [{'time':2014,'result':'賺錢了'},{'time':2015,'result':'虧大發(fā)了'}] ;console.log($filter("orderBy")($scope.data,"time"));}); </script> </body>

2.如何寫自己的過濾器(關(guān)鍵)

我以一個將字符串折分成數(shù)組的過濾器舉例。在頁面上需要傳兩參數(shù)時,就在過濾器后面以冒號(:)隔開,如下面要傳的分割器;在頁面要實(shí)現(xiàn)傳三個及以上的參數(shù)時,我們可以通過在過濾器后面繼續(xù)加冒號( :) 和參數(shù)的格式添加。總結(jié)就是,第一個參數(shù)是管道符號前面的數(shù)據(jù),多個參數(shù)時,在過濾器名稱后面以冒號隔開

<body> <div ng-app="myApp" ng-controller="myCtrl"> <p ng-repeat="r in data | toArray">{{r}}</p><p ng-repeat="r in data2 | toArray:';'">{{r}}</p> </div><script>var app = angular.module('myApp', []);//控制器app.controller('myCtrl', function($scope, $filter) {$scope.data ="abc,mn,大山,綠水";$scope.data2 ="abc;mn;大山;綠水";//需要給定分割器});//將字符串分割成數(shù)組app.filter("toArray",function(){return function(data,separator){if(data){if(!separator) {separator = ",";//默認(rèn)逗號分割}return data.split(separator);}else{return [];//得到的結(jié)果類型始終為數(shù)組類型 }}}); </script> </body>

3.過濾器中注入服務(wù)

<body> <div ng-app="myApp">在過濾器中使用服務(wù):<h1>{{255 | myFormat}}</h1> </div><script>var app = angular.module('myApp', []);//自定義服務(wù)app.service('hexafy', function() {this.myFunc = function (x) {return x.toString(16);}});//過濾器app.filter('myFormat',['hexafy', function(hexafy) {return function(x) {return hexafy.myFunc(x);};}]); </script> </body>

總結(jié)

以上是生活随笔為你收集整理的深究AngularJS——过滤器(filter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。