AngularJs基础——过滤器filter及自定义过滤器filter
2016-01-04 14:50
711 查看
1.AngularJS的filter过滤器:
uppercase|lowercase:大小写转换过滤
json:json格式过滤
date:日期格式过滤
number:数字格式过滤
currency:货币格式过滤
filter:查找
limitTo:字符串对象截取
orderBy:对象排序
![](http://img.blog.csdn.net/20160104144454531)
2.AngularJs的控制器使用filter
3.AngularJs自定义filter过滤器
uppercase|lowercase:大小写转换过滤
json:json格式过滤
date:日期格式过滤
number:数字格式过滤
currency:货币格式过滤
filter:查找
limitTo:字符串对象截取
orderBy:对象排序
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基础</title> </head> <body> <div ng-app="myApp"> <!-- 向表达式添加过滤器:可以通过一个管道字符(|)和一个过滤器添加到表达式中--> <p>将字符串转换为大小写:</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"> 数量:<input type="number" ng-model="quantity"> 价格:<input type="number" ng-model="price"> <p>总价 = {{ (quantity * price) | currency }}</p> {{250 |currency:"RMB ¥"}} </div> <!-- 向指令添加过滤器:可以通过一个管道字符(|)和一个过滤器添加到指令中--> <p>按国家的字母顺序排序对象:</p> <div ng-controller="namesController"> <p>循环对象:</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/> <!--对象排序:降序--> {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id':true }}<br/> <!--对象排序:升序--> {{ [{"age": 20,"id": 10,"name": "iphone"}, {"age": 12,"id": 11,"name": "sunm xing"}, {"age": 44,"id": 12,"name": "test abc"} ] | orderBy:'id' }} </div> <p>按输入的字母显示对象:</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>
2.AngularJs的控制器使用filter
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基础</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>
3.AngularJs自定义filter过滤器
<!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8"> <title>Angular基础</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'); } });
相关文章推荐
- 详解AngularJS中的filter过滤器用法
- 关于 angularjs 的小结
- 在angularjs应用中如何做选择评星的效果
- Angularjs1.x 中的 constant, value
- Angularjs1.x 中的 service,factory,provider,constant,value
- AngularJS 表格
- (笔记)angular 单选选项卡
- (笔记)angular Select选择
- AngularJS Filters
- AngularJS 控制器
- AngularJS 指令
- AngularJS 表达式
- AngularJS简介
- 深入浅析AngularJS中的module(模块)
- AngularJS入门——hello world!
- 淡淡理解下AngularJS中的module
- angularjs 封装 bootstrap datetimepicker 日期指令
- part 5 Two way databinding in AngularJS
- part 4 AngularJS ng src directive
- part 3 Controllers in AngularJS