详解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 相关文章推荐
JS的replace方法介绍
Oct 20 Javascript
原生javascript实现的分页插件pagenav
Aug 28 Javascript
jQuery中dom元素上绑定的事件详解
Apr 24 Javascript
javascript中call apply 与 bind方法详解
Mar 10 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
Jan 03 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
uni-app如何实现增量更新功能
Jan 03 Javascript
详解基于element的区间选择组件校验(交易金额)
Jan 07 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
杏林同学录(五)
2006/10/09 PHP
新手学PHP之数据库操作详解及乱码解决!
2007/01/02 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
初学Javascript的一些总结
2008/11/03 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
js实现股票实时刷新数据案例
2017/05/14 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
使用zrender.js绘制体温单效果
2019/10/31 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Python 序列的方法总结
2016/10/18 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
wxpython布局的实现方法
2019/11/01 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
Django之form组件自动校验数据实现
2020/01/14 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
上课说话检讨书大全
2014/01/22 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
工程材料采购方案
2014/05/18 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
员工考勤管理制度
2015/08/06 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书