一句话: filter是万能的数据处理器,可以过滤数据,排序数据,删除数据,扩展数据

1. 内置filter大全

url: https://docs.angularjs.org/api/ng/filter

uppercase lowercase 转换为大小写
date 转换为各种日期格式
number 将数字格式化成文本。 它的第二个参数是可选的, 用来控制小数点后截取的位数
currency 转换为货币形式
json 转换json或javascript对象成字符串
filter 过滤数据,可以是字符串,对象,函数
limitTo 生成新的部分字符串或数组,可以正序倒序截取
orderBy 排序,按函数,字符串或数组
编程式使用filter  
自定义filter

2. 实例

 <div ng-controller="ExampleController">
<span ng-init="global.fNumber='1234567890'"></span>
<span ng-init="global.fString='Hello filter from Michael Qin'"></span>
<span ng-init="global.fArray=['Dog', 'gOat', 'cat']"></span>
<span ng-init="global.fObjArray=[{name: 'dog', age: 10}, {name: 'Goat', age: 20}, {name: 'cat', age: 30}]"></span> <script>
var myApp = angular.module('myApp', []);
myApp.controller('ExampleController', function($scope) {
$scope.global = {};
$scope.global.fDate = new Date(); $scope.isCapitalized = function(str) {
return str[0] == str[0].toUpperCase();
}; });
</script> <hr>
<div>
<label>uppercase lowercase实例</label><p></p>
<strong>uppercase:</strong> <span>{{global.fString | uppercase}}</span> {{global.fString}}<br>
<strong>lowercase:</strong> <span>{{global.fString | lowercase}}</span> <br>
</div> <hr>
<div>
<label>date实例</label><p></p>
{{global.fDate | date: 'medium'}} <br>
{{global.fDate | date: 'short'}} <br>
{{global.fDate | date: 'fullDate'}} <br>
{{global.fDate | date: 'longDate'}} <br>
{{global.fDate | date: 'mediumDate'}} <br>
{{global.fDate | date: 'shortDate'}} <br>
{{global.fDate | date: 'mediumTime'}} <br>
{{global.fDate | date: 'shortTime'}} <br>
{{global.fDate | date: 'yyyy'}} <br>
{{global.fDate | date: 'yy'}} <br>
{{global.fDate | date: 'y'}} <br>
{{global.fDate | date: 'MMMM'}} <br>
{{global.fDate | date: 'MMM'}} <br>
{{global.fDate | date: 'MM'}} <br>
{{global.fDate | date: 'M'}} <br>
{{global.fDate | date: 'dd'}} <br>
{{global.fDate | date: 'd'}} <br>
{{global.fDate | date: 'EEEE'}} <br>
{{global.fDate | date: 'hh:mm:ss.sss'}} <br>
{{global.fDate | date: 'yyyy-MM-dd hh:mm:ss'}} <br>
{{global.fDate | date: 'yyyy/MM/dd hh:mm:ss'}} <br>
{{global.fDate | date: 'MM/dd/yyyy hh:mm:ss'}} <br>
</div> <hr>
<div>
<label>number实例</label><p></p>
{{global.fNumber}} <br>
{{global.fNumber | number}} <br>
{{global.fNumber | number: 2}} <br>
{{global.fNumber | number: 5}} <br>
</div> <hr>
<div>
<label>currency实例</label><p></p>
{{global.fNumber | currency}} <br>
{{global.fNumber | currency: "€"}} <br>
{{global.fNumber | currency: "£"}} <br>
{{global.fNumber | currency: "CNY"}} <br>
{{global.fNumber | currency: "¥"}} <br>
{{global.fNumber | currency: "元"}} <br>
{{global.fNumber | currency: "圓"}} <br>
</div> <hr>
<div>
<label>json实例</label><p></p>
{{global.fObjArray | json}} <br>
</div> <hr>
<div>
<label>filter实例</label><p></p>
{{global.fArray | filter: 'o' }} <br>
{{global.fArray | filter: isCapitalized }} <br>
{{global.fObjArray | filter:{name: 'dog'} }} <br>
</div> <hr>
<div>
<label>limitTo实例</label><p></p>
{{global.fString | limitTo: 3 }} <br>
{{global.fArray | limitTo: 2 }} <br>
{{global.fObjArray | limitTo: -2 }} <br>
</div> <hr>
<div>
<label>orderBy实例</label><p></p>
{{global.fObjArray | orderBy: 'age' }} <br>
{{global.fObjArray | orderBy: 'age': true }} <br>
{{global.fObjArray | orderBy: '-age'}} <br>
{{global.fObjArray | orderBy: 'age': false }} <br>
{{global.fObjArray | orderBy: '+age'}} <br>
</div> <hr>
<div>
<label>编程式使用filter实例</label><p></p>
<xmp>
$filter('filter')(array, expression, comparator)
$filter('currency')(amount, symbol, fractionSize)
$filter('number')(number, fractionSize)
$filter('date')(date, format, timezone)
$filter('json')(object, spacing)
$filter('lowercase')()
$filter('uppercase')()
$filter('limitTo')(input, limit, begin)
$filter('orderBy')(array, expression, reverse)
</xmp>
</div> <hr>
<div>
<label>自定义filter实例</label><p></p>
<script>
myApp.filter('age20', function() {
return function(input) {
for(var i = 0; i < input.length; i++) {
if (input[i].age == 20) {
return input[i];
}
}
};
});
</script>
{{global.fObjArray | age20 }} <br>
</div> <hr>
<hr>
</div>

3. 查看运行结果及基部源码

http://jimuyouyou.github.io/angular-bootstrap-rest-seed/examples/angular/4-filters.html

4. github项目地址

https://github.com/jimuyouyou/angular-bootstrap-rest-seed

简话Angular 04 Angular过滤器详解的更多相关文章

  1. MVC过滤器详解

    MVC过滤器详解   APS.NET MVC中(以下简称"MVC")的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理. ...

  2. Asp.Net MVC学习总结之过滤器详解(转载)

    来源:http://www.php.cn/csharp-article-359736.html   一.过滤器简介 1.1.理解什么是过滤器 1.过滤器(Filters)就是向请求处理管道中注入额外的 ...

  3. Wireshark过滤器详解

    Wireshark过滤器详解 1.Wireshark主要提供两种主要的过滤器 捕获过滤器:当进行数据包捕获时,只有那些满足给定的包含/排除表达式的数据包会被捕获 显示过滤器:该过滤器根据指定的表达式用 ...

  4. angular-ngSanitize模块-linky过滤器详解

    本篇主要讲解angular中的linky这个过滤器.此过滤器依赖于ngSanitize模块. linky能找出文本中的链接,然后把它转换成html链接.什么意思,就是说,一段文本里有一个链接,但是这个 ...

  5. TeamViewer的下载、安装和使用(windows7、CentOS6.5和Ubuntu14.04(64bit))(图文详解)

    不多说,直接上干货! TeamViewr是远程支持.远程访问.在线协作和会议软件. 分为从windows7.CentOS6.5和Ubuntu14.04(64bit) 系统来详解下载.安装和初步使用! ...

  6. shell sed过滤器详解

    1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...

  7. angular之$watch方法详解

    在$apply方法中提到过脏检查,首先apply方法会触发evel方法,当evel方法解析成功后,会去触发digest方法,digest方法会触发watch方法. (1)$watch简介 在diges ...

  8. [转]Angular项目目录结构详解

    本文转自:https://blog.csdn.net/yuzhiqiang_1993/article/details/71191873 版权声明:本文为博主原创文章,转载请注明地址.如果文中有什么纰漏 ...

  9. angular五种服务详解

    在这之前angular学习笔记(十五)-module里的'服务'这篇文章里,已经大致讲解了ng中的'服务',在之后的很多地方也用到了服务,但是,所有的服务都是使用app.factory来创建的.但其实 ...

随机推荐

  1. 从Oracle到MySQL,余额宝云实践分享

    原文链接:http://www.csdn.net/article/2013-11-/2817426-interview-financial-case-yuerbao-aliyun07 余额宝.百度百发 ...

  2. 20145310 Exp7 网络欺诈技术防范

    实验后回答问题 (1)通常在什么场景下容易受到DNS spoof攻击 局域网内最容易遭受攻击.通过DNS欺骗就可以轻松地将网址转到钓鱼网站.而我们平时最常用的局域网应该就是公共热点吧,特别是有的地方的 ...

  3. 20145318《网络对抗》Web应用

    20145318<网络对抗>Web应用 基础问题回答 (1)什么是表单 在网页中负责信息采集,在网页中用户输入信息,通过表单能够提交到后台进行相应的处理 (2)浏览器可以解析运行什么语言 ...

  4. Python3基础 str """ 多行字符串

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. 自己写操作系统---bootsector篇

    其实博主本来想在寒假自己写一个OSkernal的,高高兴兴的影印了本<一个操作系统的实现>. 然后又去图书馆借来<30天自制操作系统>和<X86/X64体系探索编程> ...

  6. Educational Codeforces Round 27 A B C

    A. Chess Tourney   Berland annual chess tournament is coming! Organizers have gathered 2·n chess pla ...

  7. BZOJ1632: [Usaco2007 Feb]Lilypad Pond SPFA+最短路计数

    Description 为了让奶牛们娱乐和锻炼,农夫约翰建造了一个美丽的池塘.这个长方形的池子被分成了M行N列个方格(1≤M,N≤30).一些格子是坚固得令人惊讶的莲花,还有一些格子是岩石,其余的只是 ...

  8. 到底二级域名和一级域名哪个更利于SEO

    到底二级域名和一级域名哪个更利于SEO呢?本文是从百度官方转载详细的介绍:二级域名和一级域名的区别,请各位认真阅读. 二级域名和子域名的区别可以通过以下3点来解读: 一,二级域名的特点 搜索引擎往往将 ...

  9. SPOJ 375 Query on a tree(树链剖分)

    https://vjudge.net/problem/SPOJ-QTREE 题意: 给出一棵树,树上的每一条边都有权值,现在有查询和更改操作,如果是查询,则要输出u和v之间的最大权值. 思路: 树链剖 ...

  10. HDU 3046 Pleasant sheep and big wolf(最小割最大流+Dinic)

    http://acm.hdu.edu.cn/showproblem.php?pid=3046 题意: 给出矩阵地图和羊和狼的位置,求至少需要建多少栅栏,使得狼不能到达羊. 思路:狼和羊不能到达,最小割 ...