详解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 相关文章推荐
详解AngularJS的通信机制
Jun 18 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
AngularJs 弹出模态框(model)
Apr 07 Javascript
jquery获取所有选中的checkbox实现代码
May 26 Javascript
javascript作用域、作用域链(菜鸟必看)
Jun 16 Javascript
BootstrapValidator不触发校验的实现代码
Sep 28 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
微信小程序开发背景图显示功能
Aug 08 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
es6中Promise 对象基本功能与用法实例分析
Feb 23 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
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
php简单计算年龄的方法(周岁与虚岁)
2016/12/06 PHP
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
innerText和textContent对比及使用介绍
2013/02/27 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
js闭包实例汇总
2014/11/09 Javascript
jQuery使用height()获取高度需要注意的地方
2014/12/13 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
VUE Elemen-ui之穿梭框使用方法详解
2021/01/19 Javascript
python 自动提交和抓取网页
2009/07/13 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python字典底层实现原理详解
2019/12/18 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
求职简历的自我评价
2014/01/31 职场文书
快递员岗位职责
2014/09/12 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
如何做好工作总结!
2019/04/10 职场文书