详解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常用技巧及常用方法列表集合
Apr 06 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
jquery禁用右键示例
Apr 28 Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 Javascript
修改Jquery Dialog 位置的实现方法
Aug 26 Javascript
vue制作加载更多功能的正确打开方式
Oct 12 Javascript
JS产生随机数的用法小结
Dec 10 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
JS合并两个数组的3种方法详解
Oct 24 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
Nov 25 Javascript
用几道面试题来看JavaScript执行机制
Apr 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
第十一节--重载
2006/11/16 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
2014/05/10 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
JS和css实现检测移动设备方向的变化并判断横竖屏幕
2015/05/25 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
Bootstrap Validator 表单验证
2016/07/25 Javascript
axios基本入门用法教程
2017/03/25 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
微信小程序实现图片预览功能
2018/01/31 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
vue实现重置表单信息为空的方法
2018/09/29 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
[01:55]《走出家门看比赛》——DOTA2 2015国际邀请赛同城线下观战
2015/07/18 DOTA
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python中Threading用法详解
2017/12/27 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
毕业生自荐书
2014/02/03 职场文书
争论的故事教学反思
2014/02/06 职场文书
开学季活动策划方案
2014/02/28 职场文书
宿舍标语大全
2014/06/19 职场文书
学校创先争优活动总结
2014/08/28 职场文书
小浪底导游词
2015/02/12 职场文书
工作表现证明
2015/06/15 职场文书
七夕情人节问候语
2015/11/11 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
Navicat连接MySQL错误描述分析
2021/06/02 MySQL