AngularJS 自定義過濾器詳解及實例代碼
AngularJS另一個特點就是提供了過濾器,可以通過操作UNIX下管道的方式,操作數(shù)據(jù)結(jié)果。
通過使用管道,可以便于雙向的數(shù)據(jù)綁定中視圖的展現(xiàn)。
過濾器在處理過程中,將數(shù)據(jù)變成新的格式,而且可以使用管道這種鏈式風格,還能接受附加的參數(shù)。
實現(xiàn)方式
下面看一下如何定義聲明一個過濾器,首先依然是要創(chuàng)建我們自己的模塊myAppModule
var myAppModule=agular.module("myApp",[]);
接下來在模塊的基礎上,創(chuàng)建過濾器:
myAppModule.filter("reverse",function(){
});
其中reverse是過濾器的名字,后面跟著過濾器的方法聲明,在方法中返回另一個方法:
myAppModule.filter("reverse",function(){ return function(input,uppercase){ var out = ""; for(var i=0 ; i<input.length; i++){ out = input.charAt(i)+out; } if(uppercase){ out = out.toUpperCase(); } return out; } });
內(nèi)部返回的方法包含了兩個參數(shù),一個是輸入的值,就是我們過濾器接受的值。
如果想要實現(xiàn)下面的過濾器:
name | reverse
則input就是其中name代表的值。
后面的參數(shù)是可選的,我們這里接受uppercase這個bool值,判斷是否要進行大小寫轉(zhuǎn)換。
內(nèi)部實現(xiàn)的代碼,就沒必要解釋了。最后返回過濾后的字符串即可。
程序樣例
<!doctype html> <html ng-app="myApp"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script> </head> <body> <div ng-controller="myAppCtrl"> name:{{ name }}<br> reverse name:{{ name | reverse }}<br> reverse&uppercase name:{{ name | reverse:true }} </div> <script type="text/javascript"> var myAppModule = angular.module("myApp",[]); myAppModule.controller("myAppCtrl",["$scope",function($scope){ $scope.name = "xingoo"; }]); myAppModule.filter("reverse",function(){ return function(input,uppercase){ var out = ""; for(var i=0 ; i<input.length; i++){ out = input.charAt(i)+out; } if(uppercase){ out = out.toUpperCase(); } return out; } }); </script> </body> </html>
運行結(jié)果
以上就是對AngularJS 自定義過濾器 的資料整理,后續(xù)繼續(xù)補充相關(guān)資料,謝謝大家對本站的支持!
- 詳解AngularJS中自定義過濾器
- 詳解AngularJS中$filter過濾器使用(自定義過濾器)
- AngularJS使用Filter自定義過濾器控制ng-repeat去除重復功能示例
- AngularJS自定義過濾器用法經(jīng)典實例總結(jié)
- Angularjs 依賴壓縮及自定義過濾器寫法
- angularJs自定義過濾器實現(xiàn)手機號信息隱藏的方法
- AngularJS實現(xiàn)的自定義過濾器簡單示例
- 簡述angular自定義過濾器在頁面和控制器中的使用
- Angular.Js中過濾器filter與自定義過濾器filter實例詳解
- 詳解Angular的內(nèi)置過濾器和自定義過濾器【推薦】
- angularjs自定義過濾器demo示例
相關(guān)文章
詳解Angular系列之變化檢測(Change Detection)
這篇文章主要介紹了詳解Angular系列之變化檢測(Change Detection),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02