一句话: 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. 20145318《网络对抗》Web应用

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

  2. 使用CSP防止XSS攻击

    转载自阮一峰博客:http://www.ruanyifeng.com/blog/2016/09/csp.html 跨域脚本攻击 XSS 是最常见.危害最大的网页安全漏洞. 为了防止它们,要采取很多编程 ...

  3. spring集成mybatis后,打印SQL语句

    网上说mybatis的早前版本配置打印sql还比较简单,在3.0.6之后配置方式修改了. 现在的spring-mybatis.xml配置如下: <bean id="sqlSession ...

  4. Java 多线程查找文件中的内容

    学过了操作系统,突然不知道多线程有什么用了. 看了一下百度,发现多线程,可以提升系统利用率 在系统进行IO操作的时候,CPU可以处理一些其他的东西,等IO读取到内存后,CPU再处理之前的操作. 总之可 ...

  5. 全面理解虚拟DOM,实现虚拟DOM

    1.为什么需要虚拟DOM DOM是很慢的,其元素非常庞大,页面的性能问题鲜有由JS引起的,大部分都是由DOM操作引起的.如果对前端工作进行抽象的话,主要就是维护状态和更新视图:而更新视图和维护状态都需 ...

  6. Oracle SQL Developer 中配置JDBC驱动程序连接

    此博客仅作为自己备忘,没有丝毫技术含量.把Postgres的JDBC驱动程序放在Oracle SQL Developer的JDBC的文件夹下,然后安装Oracle SQL Developer,添加新连 ...

  7. [Shiro] - Shiro之SpringBoot中的使用

    下载了运行项目后,访问路径:http://localhost/shiro/login 这篇应该在进阶后面的. shiro中的重中之重,一定要看. 基于springboot+thymeleaf+shir ...

  8. 每个成长者,必须学会可以练习 (来自ProcessOn流程图工具作者底部)

  9. linq——group by

    多列排序&&聚合函数 var result = from i in                (from uh in db.UserHistories                ...

  10. 51nod 1412 AVL树的种类(经典dp)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1412 题意: 思路: 经典dp!!!可惜我想不到!! $dp[i][k] ...