Angular.Js中過濾器filter與自定義過濾器filter實(shí)例詳解
本文主要給大家介紹了Angular.Js過濾器filter與自定義過濾器filter的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面來看看詳細(xì)的介紹:
一、AngularJS的filter過濾器:
- uppercase|lowercase:大小寫轉(zhuǎn)換過濾
- json:json格式過濾
- date:日期格式過濾
- number:數(shù)字格式過濾
- currency:貨幣格式過濾
- filter:查找
- limitTo:字符串對(duì)象截取
- orderBy:對(duì)象排序
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基礎(chǔ)</title> </head> <body> <div ng-app="myApp"> <!-- 向表達(dá)式添加過濾器:可以通過一個(gè)管道字符(|)和一個(gè)過濾器添加到表達(dá)式中--> <p>將字符串轉(zhuǎn)換為大小寫:</p> <div ng-controller="uppercaseController"> <p>姓名為 {{ person.lastName | uppercase }}</p> </div> <div ng-controller="lowercaseController"> <p>姓名為 {{ person.lastName | lowercase }}</p> </div> <p>貨幣過濾:</p> <div ng-controller="costController"> 數(shù)量:<input type="number" ng-model="quantity"> 價(jià)格:<input type="number" ng-model="price"> <p>總價(jià) = {{ (quantity * price) | currency }}</p> {{250 |currency:"RMB ¥"}} </div> <!-- 向指令添加過濾器:可以通過一個(gè)管道字符(|)和一個(gè)過濾器添加到指令中--> <p>按國家的字母順序排序?qū)ο螅?lt;/p> <div ng-controller="namesController"> <p>循環(huán)對(duì)象:</p> <ul> <li ng-repeat="x in names | orderBy:'country'"> {{ x.name + ', ' + x.country }} </li> </ul> <!--json格式過濾--> {{jsonText | json}} <br/> <!--date格式過濾--> <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss'}}</span><br/> <!--number格式過濾--> {{1.2345678 |number:1}}<br/> <!--字符串截取--> {{ "i love tank" | limitTo:6 }}<br/> {{ "i love tank" | limitTo:-6 }}<br/> <!--對(duì)象排序:降序--> {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id':true }}<br/> <!--對(duì)象排序:升序--> {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id' }} </div> <p>按輸入的字母顯示對(duì)象:</p> <div ng-controller="namesFilterController"> <p>輸入過濾:</p> <p><input type="text" ng-model="name"></p> <ul> <li ng-repeat="x in names | filter:name | orderBy:'country':true"> {{ (x.name | uppercase) + ', ' + x.country }} </li> </ul> <p>name篩選:</p> <ul> <li ng-repeat="x in names | filter:{'name':name} | orderBy:'country':true"> {{ (x.name | uppercase) + ', ' + x.country }} </li> </ul> {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm"}, {"age": 44,"id": 12,"name": "test abc"} ] | filter:{'name':'sunm'} }} </div> </div> <script src="angular.min.js"></script> <script type="application/javascript"> var myApp=angular.module('myApp',[]); myApp.controller('uppercaseController',function($scope){ $scope.person = { firstName: "John", lastName: "Doe" }; }); myApp.controller('lowercaseController',function($scope){ $scope.person = { firstName: "John", lastName: "Doe" }; }); myApp.controller('costController',function($scope){ $scope.quantity = 1; $scope.price = 9.99; }); myApp.controller('namesController',function($scope){ $scope.names = [ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'} ]; $scope.jsonText={foo:"bar",baz:23}; }); myApp.controller('namesFilterController',function($scope){ $scope.names = [ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'} ]; }); </script> </body> </html>
二、AngularJs的控制器使用filter
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基礎(chǔ)</title> </head> <body> <div ng-app="myApp"> <div ng-controller="firstCtrl"> {{uFirstName}}<br/> {{cPrice}}<br/> </div> </div> <script src="angular.min.js"></script> <script type="application/javascript"> var myApp=angular.module('myApp',[]); myApp.controller('firstCtrl',function($scope,$filter){ $scope.firstName="zhangsan"; $scope.uFirstName=$filter('uppercase')($scope.firstName); $scope.price="121212"; $scope.cPrice=$filter('currency')($scope.price,'RMB ¥'); }) </script> </body> </html>
三、AngularJs自定義filter過濾器
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基礎(chǔ)</title> </head> <body> <div ng-app="myApp"> <div ng-controller="firstCtrl"> {{welcome | replaceHello}}<br/> {{welcome | replaceHello:3:5}}<br/> {{welcome | rJs}}<br/> </div> </div> <script src="angular.min.js"></script> <script src="filter.js"></script> <script type="application/javascript"> var myApp=angular.module('myApp',['myApp.filter']); myApp.controller('firstCtrl',function($scope){ $scope.welcome="Hello AngularJs"; }); //自定義過濾器 myApp.filter('replaceHello',function(){ return function(input,n1,n2){ console.log(input); console.log(n1); console.log(n2); return input.replace(/Hello/,'您好'); } }) </script> </body> </html>
var appFilter=angular.module('myApp.filter',[]); //自定義過濾器 appFilter.filter('rJs',function(){ return function(input,n1,n2){ console.log(input); console.log(n1); console.log(n2); return input.replace(/Js/,' javaScript'); } });
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- 詳解AngularJS中自定義過濾器
- 詳解AngularJS中$filter過濾器使用(自定義過濾器)
- AngularJS使用Filter自定義過濾器控制ng-repeat去除重復(fù)功能示例
- AngularJS 自定義過濾器詳解及實(shí)例代碼
- AngularJS自定義過濾器用法經(jīng)典實(shí)例總結(jié)
- Angularjs 依賴壓縮及自定義過濾器寫法
- angularJs自定義過濾器實(shí)現(xiàn)手機(jī)號(hào)信息隱藏的方法
- AngularJS實(shí)現(xiàn)的自定義過濾器簡單示例
- 簡述angular自定義過濾器在頁面和控制器中的使用
- 詳解Angular的內(nèi)置過濾器和自定義過濾器【推薦】
- angularjs自定義過濾器demo示例
相關(guān)文章
使用Angular CLI生成 Angular 5項(xiàng)目教程詳解
這篇文章主要介紹了使用Angular CLI生成 Angular 5項(xiàng)目的教程詳解 ,需要的朋友可以參考下2018-03-03Angular 開發(fā)學(xué)習(xí)之Angular CLI的安裝使用
這篇文章主要介紹了Angular 開發(fā)學(xué)習(xí)之Angular CLI的安裝使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12AngularJS發(fā)送異步Get/Post請(qǐng)求方法
今天小編就為大家分享一篇AngularJS發(fā)送異步Get/Post請(qǐng)求方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08AngularJS標(biāo)簽頁tab選項(xiàng)卡切換功能經(jīng)典實(shí)例詳解
這篇文章主要介紹了AngularJS實(shí)現(xiàn)標(biāo)簽頁tab選項(xiàng)卡功能,結(jié)合實(shí)例形式總結(jié)分析了各種常用的tab選項(xiàng)卡切換操作實(shí)現(xiàn)技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-05-05angular 動(dòng)態(tài)組件類型詳解(四種組件類型)
這篇文章給大家講解四種組件類型,非常不錯(cuò),具有參考借鑒價(jià)值,對(duì)angular 動(dòng)態(tài)組件類型感興趣的朋友參考下吧2017-02-02AngularJS應(yīng)用開發(fā)思維之依賴注入3
這篇文章主要為大家詳細(xì)介紹了AngularJS應(yīng)用開發(fā)思維之依賴注入第三篇,感興趣的小伙伴們可以參考一下2016-08-08