Angularjs filter过滤器以及自定义filter过滤器 详解

分类: 在移动端的新的征程 | 标签: , , , , , | 日期:


第七讲 Angularjs filter过滤器以及自定义filter过滤器 详解

 

第七讲 Angularjs filter 过滤器以及自定义 filter 过滤器详解
学习要点:
1. Angularjs filter 过滤器
2. 控制器中使用 filter
3. 自定义 filter 过滤器

 

1. Angularjs filter 过滤器
1. uppercase,lowercase 大小转换
{{ “lower cap string” | uppercase }} //结果:LOWER CAP STRING
{{ “TANK is GOOD” | lowercase }} //结果:tank is good
2. json 格式化
{{ {foo: “bar”, baz: 23} | json }} //结果:{ “foo”: “bar”, “baz”: 23 }
3. date 格式化
{{ 1304375948024 | date }} //结果:May 3, 2011
{{ 1304375948024 | date:”MM/dd/yyyy @ h:mma” }} //结果:05/03/2011 @ 6:39AM
{{ 1304375948024 | date:”yyyy-MM-dd hh:mm:ss” }} //结果:2011-05-03 06:39:08
4. number 格式化
{{ 1.234567 | number:1 }} //结果:1.2
{{ 1234567 | number }} //结果:1,234,567
5. currency 货币格式化
{{ 250 | currency }} //结果:$250.00
{{ 250 | currency:”RMB ¥ ” }} //结果:RMB ¥ 250.00
6. filter 查找
{{ [{“age”: 20,”id”: 10,”name”: “iphone”},
{“age”: 12,”id”: 11,”name”: “sunm xing”},
{“age”: 44,”id”: 12,”name”: “test abc”}
] | filter:’s’}} //查找含有有 s 的行
//上例结果:[{“age”:12,”id”:11,”name”:”sunm xing”},{“age”:44,”id”:12,”name”:”test
abc”}]
{{ [{“age”: 20,”id”: 10,”name”: “iphone”},
{“age”: 12,”id”: 11,”name”: “sunm xing”},
{“age”: 44,”id”: 12,”name”: “test abc”}
] | filter:{‘name':’iphone’} }} //查找 name 为 iphone 的行
//上例结果:[{“age”:20,”id”:10,”name”:”iphone”}]
7. limitTo 字符串,对像的截取
{{ “i love tank” | limitTo:6 }} //结果:i love
{{ “i love tank” | limitTo:-4 }} //结果:tank
{{ [{“age”: 20,”id”: 10,”name”: “iphone”},
{“age”: 12,”id”: 11,”name”: “sunm xing”},
{“age”: 44,”id”: 12,”name”: “test abc”}
] | limitTo:1 }} //结果:[{“age”:20,”id”:10,”name”:”iphone”}]
8. orderBy 对像排序
{{ [{“age”: 20,”id”: 10,”name”: “iphone”},
{“age”: 12,”id”: 11,”name”: “sunm xing”},
{“age”: 44,”id”: 12,”name”: “test abc”}
] | orderBy:’id':true }} //根 id 降序排
{{ [{“age”: 20,”id”: 10,”name”: “iphone”},
{“age”: 12,”id”: 11,”name”: “sunm xing”},
{“age”: 44,”id”: 12,”name”: “test abc”}
] | orderBy:’id’ }} //根据 id 升序排
2. 控制器使用 filter
$scope.name = $filter(‘date’)(‘236478234′,’hh’);
$scope.name = $filter(‘uppercase’)(‘hello’);
3. Angularjs 自定义 filter 过滤器
1. filters.js 添加一个 module
查看复制打印?
angular.module(‘tanktest’, []).filter(‘tankreplace’, function() {
return function(input) {
return input.replace(/tank/, “=====”)
};
});
2.app.js 中加载这个 module
查看复制打印?
var phonecatApp = angular.module(‘phonecatApp’, [
‘ngRoute’,
‘phonecatControllers’,
‘facebookControllers’,
‘tanktest’
]);
3.html 中调用
查看复制打印?
{{ “TANK is GOOD” | lowercase |tankreplace}} //结果:===== is good
注意:| lowercase |tankreplace 管道命令可以有多个

声明:本文为耿师傅 http://www.bordf.com发布文章。转载务必注明出处

注意:转载须保留全文:请保留本文出处!否则耿师傅将向你网站的主机商投诉。
本文永久地址:http://www.bordf.com/article/1510.html


2人发表了评论  ↓发表评论↓
  • 学习了,谢谢、

    莱克米 @ 2016年1月11日 | 回复

表情:<( ̄︶ ̄)> | (⊙ˍ⊙) | >﹏< | b( ̄▽ ̄)d | (─.─||) | (^_-)

[ Ctrl+Enter提交 ]