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)的代碼,就沒必要解釋了。最后返回過(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服務(wù)Request異步請(qǐng)求的實(shí)例講解
今天小編就為大家分享一篇Angular服務(wù)Request異步請(qǐng)求的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
AngularJS directive返回對(duì)象屬性詳解
這篇文章主要為大家纖細(xì)介紹了AngularJS directive返回對(duì)象屬性的相關(guān)內(nèi)容,感興趣的小伙伴們可以參考一下2016-03-03
AngularJS實(shí)現(xiàn)樹形結(jié)構(gòu)(ztree)菜單示例代碼
這篇文章運(yùn)用示例代碼給大家詳細(xì)介紹了利用AngularJS如何實(shí)現(xiàn)樹形結(jié)構(gòu)(ztree)菜單,文中僅用了幾行AngularJS代碼就是了這個(gè)功能,對(duì)大家日常開發(fā)很有幫助,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-09-09
Angular4.0中引入laydate.js日期插件的方法教程
在AngularJs中我們會(huì)不可避免的使用第三方庫(kù),例如jquery插件庫(kù)。下面這篇文章主要給大家介紹了關(guān)于Angular4.0中引入laydate.js日期插件的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12
AngularJs Using $location詳解及示例代碼
本文主要介紹AngularJs Using $location的知識(shí)資料,這里整理了相關(guān)的資料,及簡(jiǎn)單示例代碼,有興趣的小伙伴可以參考下2016-09-09
將Angular單項(xiàng)目升級(jí)為多項(xiàng)目的全過(guò)程
有時(shí)候在開發(fā)的過(guò)程中發(fā)現(xiàn)一個(gè)Angular項(xiàng)目不太夠用,兩個(gè)獨(dú)立的項(xiàng)目又不太好復(fù)用,這時(shí)便需要將原來(lái)的Angular項(xiàng)目簡(jiǎn)單做個(gè)升級(jí),這篇文章主要給大家介紹了關(guān)于將Angular單項(xiàng)目升級(jí)為多項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2021-11-11
AngularJS監(jiān)聽ng-repeat渲染完成的兩種方法
這篇文章主要介紹了AngularJS監(jiān)聽ng-repeat渲染完成的兩種方法,結(jié)合實(shí)例形式分析了AngularJS基于自定義指令及廣播事件實(shí)現(xiàn)監(jiān)聽功能的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Angular懶加載模塊與Combined?Injector原理全面解析
這篇文章主要為大家介紹了Angular懶加載模塊與Combined?Injector原理全面解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
基于Angular中ng-controller父子級(jí)嵌套的相關(guān)屬性詳解
今天小編就為大家分享一篇基于Angular中ng-controller父子級(jí)嵌套的相關(guān)屬性詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10

