详解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 相关文章推荐
asp 取文本框名称代码
Dec 02 Javascript
JavaScript 产生不重复的随机数三种实现思路
Dec 13 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 Javascript
javascript格式化指定日期对象的方法
Apr 21 Javascript
JQuery通过AJAX从后台获取信息显示在表格上并支持行选中
Sep 15 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 Javascript
Javascript之面向对象--封装
Dec 02 Javascript
Vue实现一个返回顶部backToTop组件
Jul 25 Javascript
Vue.js标签页组件使用方法详解
Oct 19 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分页显示制作详细讲解
2006/12/05 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
移动端JQ插件hammer使用详解
2015/07/03 Javascript
基于jquery实现百度新闻导航菜单滑动动画
2016/03/15 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
2016/11/30 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
怎样在vue项目下添加ESLint的方法
2019/05/16 Javascript
微信小程序基于Taro的分享图片功能实践详解
2019/07/12 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Python中将字典转换为列表的方法
2016/09/21 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
python实现flappy bird小游戏
2018/12/24 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
PHP如何自定义函数
2016/09/16 面试题
教师岗位职责
2013/11/17 职场文书
通信生自我鉴定
2014/01/18 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
球队口号
2014/06/18 职场文书