AngularJS 自定義過(guò)濾器詳解及實(shí)例代碼
AngularJS另一個(gè)特點(diǎn)就是提供了過(guò)濾器,可以通過(guò)操作UNIX下管道的方式,操作數(shù)據(jù)結(jié)果。
通過(guò)使用管道,可以便于雙向的數(shù)據(jù)綁定中視圖的展現(xiàn)。
過(guò)濾器在處理過(guò)程中,將數(shù)據(jù)變成新的格式,而且可以使用管道這種鏈?zhǔn)斤L(fēng)格,還能接受附加的參數(shù)。
實(shí)現(xiàn)方式
下面看一下如何定義聲明一個(gè)過(guò)濾器,首先依然是要?jiǎng)?chuàng)建我們自己的模塊myAppModule
var myAppModule=agular.module("myApp",[]);
接下來(lái)在模塊的基礎(chǔ)上,創(chuàng)建過(guò)濾器:
myAppModule.filter("reverse",function(){
});
其中reverse是過(guò)濾器的名字,后面跟著過(guò)濾器的方法聲明,在方法中返回另一個(gè)方法:
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)部返回的方法包含了兩個(gè)參數(shù),一個(gè)是輸入的值,就是我們過(guò)濾器接受的值。
如果想要實(shí)現(xiàn)下面的過(guò)濾器:
name | reverse
則input就是其中name代表的值。
后面的參數(shù)是可選的,我們這里接受uppercase這個(gè)bool值,判斷是否要進(jìn)行大小寫轉(zhuǎn)換。
內(nèi)部實(shí)現(xiàn)的代碼,就沒(méi)必要解釋了。最后返回過(guò)濾后的字符串即可。
程序樣例
<!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>
運(yùn)行結(jié)果
以上就是對(duì)AngularJS 自定義過(guò)濾器 的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!
- 詳解AngularJS中自定義過(guò)濾器
- 詳解AngularJS中$filter過(guò)濾器使用(自定義過(guò)濾器)
- AngularJS使用Filter自定義過(guò)濾器控制ng-repeat去除重復(fù)功能示例
- AngularJS自定義過(guò)濾器用法經(jīng)典實(shí)例總結(jié)
- Angularjs 依賴壓縮及自定義過(guò)濾器寫法
- angularJs自定義過(guò)濾器實(shí)現(xiàn)手機(jī)號(hào)信息隱藏的方法
- AngularJS實(shí)現(xiàn)的自定義過(guò)濾器簡(jiǎn)單示例
- 簡(jiǎn)述angular自定義過(guò)濾器在頁(yè)面和控制器中的使用
- Angular.Js中過(guò)濾器filter與自定義過(guò)濾器filter實(shí)例詳解
- 詳解Angular的內(nèi)置過(guò)濾器和自定義過(guò)濾器【推薦】
- angularjs自定義過(guò)濾器demo示例
相關(guān)文章
詳解Angular路由動(dòng)畫及高階動(dòng)畫函數(shù)
本文主要講解了Angular的路由動(dòng)畫和高階動(dòng)畫函數(shù),對(duì)此感興趣的同學(xué),可以把代碼親自實(shí)驗(yàn)一下,理解其原理。2021-05-05AngularJS 仿微信圖片手勢(shì)縮放的實(shí)例
這篇文章主要介紹了AngularJS 仿微信圖片手勢(shì)縮放的實(shí)例的相關(guān)資料,希望大家通過(guò)本文實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09angular實(shí)現(xiàn)表單驗(yàn)證及提交功能
這篇文章主要為大家詳細(xì)介紹了angular實(shí)現(xiàn)表單驗(yàn)證及提交功能的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02AngularJS模塊管理問(wèn)題的非常規(guī)處理方法
這篇文章主要介紹了AngularJS模塊管理問(wèn)題的非常規(guī)處理方法,算是一個(gè)無(wú)奈之舉,分享給小伙伴,大家可以參考下。2015-04-04詳解Angular系列之變化檢測(cè)(Change Detection)
這篇文章主要介紹了詳解Angular系列之變化檢測(cè)(Change Detection),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02