详解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 二分法(数组array)
Apr 24 Javascript
JavaScript中常见陷阱小结
Apr 27 Javascript
js自定义事件及事件交互原理概述(二)
Feb 01 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
Jun 25 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
Oct 30 Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 Javascript
九种原生js动画效果
Nov 11 Javascript
对layui中表单元素的使用详解
Aug 15 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
微信小程序 select 下拉框组件功能
Sep 09 Javascript
vue下canvas裁剪图片实例讲解
Apr 16 Javascript
Vue实现穿梭框效果
Sep 30 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
第十二节 类的自动加载 [12]
2006/10/09 PHP
PHP 常见郁闷问题答解
2006/11/25 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
pygame学习笔记(5):游戏精灵
2015/04/15 Python
Python写入CSV文件的方法
2015/07/08 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
python实现汉诺塔算法
2021/03/01 Python
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
Lookfantastic香港官网:英国知名美妆购物网站
2018/06/19 全球购物
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
会计电算化专业应届大学生求职信
2013/10/22 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2015年国培研修感言
2015/08/01 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
科普 | 业余无线电知识-波段篇
2022/02/18 无线电