详解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 相关文章推荐
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
javascript 45种缓动效果 非常酷
Jun 28 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
Mar 03 Javascript
js代码实现点击按钮出现60秒倒计时
Jan 28 Javascript
基于jquery实现最简单的选项卡切换效果
May 08 Javascript
[原创]jQuery常用的4种加载方式分析
Jul 25 Javascript
vue实现可增删查改的成绩单
Oct 27 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
Nov 30 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 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
怎么在Windows系统中搭建php环境
2013/08/31 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
js生成动态表格并为每个单元格添加单击事件的方法
2014/04/14 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[42:56]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python实现合并两个有序链表的方法示例
2019/01/31 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
Python 音频生成器的实现示例
2019/12/24 Python
Python守护进程实现过程详解
2020/02/10 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
python3爬虫中多线程的优势总结
2020/11/24 Python
python 获取谷歌浏览器保存的密码
2021/01/06 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
旅游管理专业学生求职信
2013/09/28 职场文书
英语硕士生求职简历的自我评价
2013/10/15 职场文书
年度考核评语
2014/01/19 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
经理任命书模板
2014/06/06 职场文书
教师求职信
2014/06/17 职场文书
武当山导游词
2015/02/03 职场文书
冬季作息时间调整通知
2015/04/24 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
初中运动会前导词
2015/07/20 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis