详解AngularJS Filter(过滤器)用法


Posted in Javascript onDecember 28, 2015

AngularJS的filter,中文名“过滤器”是用来过滤变量的值,或者格式化输出,得到自己所期望的结果或格式的东东。

Filter简介

Filter是用来格式化数据用的。

Filter的基本原型( ‘|' 类似于Linux中的管道模式):

{{ expression | filter }}

Filter可以被链式使用(即连续使用多个filter):

{{ expression | filter1 | filter2 | ... }}

Filter也可以指定多个参数:

{{ expression | filter:argument1:argument2:... }}

一、在视图模板(View Template)中使用

在表达式中应用Filters (过滤器)

需要遵循格式如下:

{{ expression | filter }} 即 {{ 表达式 | 过滤器 }}

例如:{{ 12 | currency }} 输出为 $12.00

详解AngularJS Filter(过滤器)用法

在输出结果中应用Filters (过滤器)

通俗点讲就是Filter的叠加--前一filter的输出结果作为后一filter的输入数据源.

需要遵循格式如下:

{{ expression | filter1 | filter2 | ... }} 即 表达式(expression)使用filter1过滤后再使用filter2过滤...

详解AngularJS Filter(过滤器)用法

带参数的Filter

Filter后面可以跟一个或多个参数,用来帮助实现特殊要求、需求的filter.

需要遵循格式如下:

{{ expression | filter:argument1:argument2:... }}

示例: {{ 1234 | number:2 }} = 1,234.00

详解AngularJS Filter(过滤器)用法

二、使用 AngluarJS 内置Filter

AngularJS为我们提供了9个内建的过滤器

分别是currency, date, filter, json, limitTo, uppercase, lowercase, number, orderBy。

具体的用法在AngularJS的文档中都有详细说明。下面只说几个常用的。

currency filter(货币过滤器)

currency ? 用来将变量转换成货币表现形式

如:{{ amount | currency}}

详解AngularJS Filter(过滤器)用法

uppercase/lowercase filter(字母大小写filter)

如:

{{ "lower cap string" | uppercase }}
<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}

详解AngularJS Filter(过滤器)用法

date filter (日期filter)

如:

{{ 1304375948024 | date }}
{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}

详解AngularJS Filter(过滤器)用法

json filter

如:

{{ {foo: "bar", baz: 23} | json }}

详解AngularJS Filter(过滤器)用法

在controllers, services和drictives中使用filter

可以在AngularJS的controller, service或者driective中使用filter, 这时候你需要将依赖的filter名字加入到controller, service或者directive的依赖中去。

在controller中直接使用filter, 这样controller可以根据自身需要而适时调用filter

详解AngularJS Filter(过滤器)用法

三、自定义filter(过滤器)

AngularJS编写自定义过滤器的形式和AngularJS的factory service非常相像,一定记得它返回一个对象或者是一个函数即可,编写的时候,只需要一个带有一个以上参数的函数即可。

格式大致如:

app.filter('filter(过滤器)名称',function(){ 
return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){ 
//...执行业务逻辑代码 
return 处理后的对象; 
}
});

详解AngularJS Filter(过滤器)用法

Javascript 相关文章推荐
jquery操作select option 的代码小结
Jun 21 Javascript
利用jq让你的div居中的好方法分享
Nov 21 Javascript
使用JavaScript和C#中获得referer
Nov 14 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
Mar 05 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
Mar 25 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
Jan 18 Javascript
微信小程序带动画弹窗组件使用方法详解
Nov 27 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
May 20 Javascript
vant中的toast轻提示实现代码
Nov 04 Javascript
原生JavaScript实现瀑布流布局
Jun 28 #Javascript
js实现瀑布流的三种方式比较
Jun 28 #Javascript
详解AngularJS中自定义过滤器
Dec 28 #Javascript
js运动应用实例解析
Dec 28 #Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 #Javascript
浅析JS运动
Dec 28 #Javascript
基于JavaScript实现网页倒计时自动跳转代码
Dec 28 #Javascript
You might like
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
Vue.js开发环境搭建
2016/11/10 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
socket.io与pm2(cluster)集群搭配的解决方案
2017/06/02 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
用Python进行TCP网络编程的教程
2015/04/29 Python
python使用post提交数据到远程url的方法
2015/04/29 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python合并多个Excel数据的方法
2018/07/16 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python使用正则筛选信用卡
2019/01/27 Python
python实现维吉尼亚加密法
2019/03/20 Python
django中使用POST方法获取POST数据
2019/08/20 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
大学生入党思想汇报
2014/01/14 职场文书
求职信模板标准格式范文
2014/02/23 职场文书
生日主持词
2014/03/20 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
暑期培训班招生方案
2014/08/26 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
无工作证明怎么写
2015/06/15 职场文书