一句话: 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. JavaScript 实现省市二级联动

    JavaScript 实现省市二级联动 版权声明:未经授权,严禁转载! 案例代码 <style> .hide { display: none; } </style> <s ...

  2. 20145206邹京儒MSF基础应用

    20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...

  3. 20145306 张文锦 网络攻防 web基础

    20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...

  4. ubuntu服务器安装FTP服务

    目录 ubuntu服务器安装FTP服务 一.实验环境 二.安装配置FTP 下载ftp 配置环境 新建用户 ubuntu服务器安装FTP服务 参考教程 [ubuntu16.04搭建ftp服务器 一.实验 ...

  5. 20145204《网络对抗》MAL后门原理与实践

    20145204<网络对抗>MAL后门原理与实践 实践内容说明 (1)使用netcat获取主机操作Shell,cron启动 (1分) (2)使用socat获取主机操作Shell, 任务计划 ...

  6. CSS形变与动画

    形变 2D形变 matrix(): 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f]变换矩阵 translate(): 指定对象的2 ...

  7. Centos7.2 修改网卡名称

    查看ip [root@localhost network-scripts]# ip addr : lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue ...

  8. zedgraph右键菜单的汉化

    http://blog.csdn.net/jeryler/article/details/7876376 修改 zedGraphControl的ContextMenuBuilder事件即可! zedG ...

  9. 让低版本浏览器支持html5的标签

    原理就是首先用js的createElement来创建,之后在使用 document.createElement('header'); <header> <hgroup>头部信息 ...

  10. 1、webpack编译打包Sass编译的css进js文件

    cnpm install css-loader --save-dev    //css-loader 是将css打包进js cnpm install style-loader --save-dev   ...