详解Angularjs filter过滤器


Posted in Javascript onFebruary 06, 2016

系统的学习了一下angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter。如果对smarty比较熟悉的话,学习angularjs会比较容易一点。这篇简单说一下angularjs的filter功能,angularjs的filter功能可分为二种,一种是内置的过滤器,一种是自定义的。

Filter是用来格式化数据用的。

Filter的基本原型( '' 类似于Linux中的管道模式):

{{ expression filter }}

Filter可以被链式使用(即连续使用多个filter):

{{ expression filter1 filter2 ... }}

Filter也可以指定多个参数:

{{ expression filter:argument1:argument2:... }}

一,内置的过滤器

1,uppercase,lowercase大小转换

{{ "lower cap string" | uppercase }} //结果:LOWER CAP STRING 
{{ "TANK is GOOD" | lowercase }} //结果:tank is good

|这里的竖线是一种管道功能,如果对linux比较熟悉的话,这块的|根linux的管道功能,基本是一样的

2,json格式化

{{ {foo: "bar", baz: 23} | json }} //结果:{ "foo": "bar", "baz": 23 }

注意:bza没格式前是没有双引号的,格式化后就转换成了json数据了。

3,date格式化

{{ 1304375948024 | date }} //结果:May 3, 2011 
{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }} //结果:05/03/2011 @ 6:39AM 
{{ 1304375948024 | date:"yyyy-MM-dd hh:mm:ss" }} //结果:2011-05-03 06:39:08

4,number格式化

{{ 1.234567 | number:1 }} //结果:1.2 
{{ 1234567 | number }} //结果:1,234,567

5,currency货币格式化

{{ 250 | currency }} //结果:$250.00 
{{ 250 | currency:"RMB ¥ " }} //结果:RMB ¥ 250.00

6,filter查找

{{ [{"age": 20,"id": 10,"name": "iphone"}, 
{"age": 12,"id": 11,"name": "sunm xing"}, 
{"age": 44,"id": 12,"name": "test abc"} 
] | filter:'s'}} //查找含有有s的行 
//上例结果:[{"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}] 
{{ [{"age": 20,"id": 10,"name": "iphone"}, 
{"age": 12,"id": 11,"name": "sunm xing"}, 
{"age": 44,"id": 12,"name": "test abc"} 
] | filter:{'name':'iphone'} }} //查找name为iphone的行 
//上例结果:[{"age":20,"id":10,"name":"iphone"}]

7,limitTo字符串,对像的截取

{{ "i love tank" | limitTo:6 }} //结果:i love 
{{ "i love tank" | limitTo:-4 }} //结果:tank 
{{ [{"age": 20,"id": 10,"name": "iphone"}, 
{"age": 12,"id": 11,"name": "sunm xing"}, 
{"age": 44,"id": 12,"name": "test abc"} 
] | limitTo:1 }} //结果:[{"age":20,"id":10,"name":"iphone"}]

8,orderBy对像排序

{{ [{"age": 20,"id": 10,"name": "iphone"}, 
{"age": 12,"id": 11,"name": "sunm xing"}, 
{"age": 44,"id": 12,"name": "test abc"} 
] | orderBy:'id':true }} //根id降序排 
{{ [{"age": 20,"id": 10,"name": "iphone"}, 
{"age": 12,"id": 11,"name": "sunm xing"}, 
{"age": 44,"id": 12,"name": "test abc"} 
] | orderBy:'id' }} //根据id升序排

二,自定filter功能

我找了一个基本angularjs的mvc框架,phonecat,自定义filter也是在这基础写的,这个框架挺好用的。

1,filters.js添加一个module

angular.module('tanktest', []).filter('tankreplace', function() { 
return function(input) { 
return input.replace(/tank/, "=====") 
}; 
});

2,app.js中加载这个module

var phonecatApp = angular.module('phonecatApp', [ 
'ngRoute', 
'phonecatControllers', 
'facebookControllers', 
'tanktest' 
]);

3,html中调用

{{ "TANK is GOOD" | lowercase |tankreplace}} //结果:===== is good

注意:| lowercase |tankreplace管道命令可以有多个

以上所述是小编给大家介绍的angularjs filter过滤器相关知识,希望对大家有所帮助,更多有关angularjs filter相关知识敬请关注三水点靠木网站。谢谢!

Javascript 相关文章推荐
JSONP 跨域共享信息
Aug 16 Javascript
实现点击列表弹出列表索引的两种方式
Mar 08 Javascript
jquery 获取表单元素里面的值示例代码
Jul 28 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
Aug 18 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
jQuery css() 方法动态修改CSS属性
Sep 25 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
使用jQuery操作DOM的方法小结
Feb 27 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
Vue实现简易计算器
Feb 25 Javascript
js实现消灭星星(web简易版)
Mar 24 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 #Javascript
浅析Javascript匿名函数与自执行函数
Feb 06 #Javascript
JS通过Cookie判断页面是否为首次打开
Feb 05 #Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
Feb 05 #Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 #Javascript
AngularJs中route的使用方法和配置
Feb 04 #Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 #Javascript
You might like
php自定义函数截取汉字长度
2014/05/15 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
用python代码做configure文件
2014/07/20 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
用Python解决计数原理问题的方法
2016/08/04 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
Python交互环境下实现输入代码
2018/06/22 Python
解决python给列表里添加字典时被最后一个覆盖的问题
2019/01/21 Python
python json.dumps() json.dump()的区别详解
2020/07/14 Python
Windows下Sqlmap环境安装教程详解
2020/08/04 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
幼儿如何来做好自我评价
2013/11/05 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
关于安全的演讲稿
2014/05/09 职场文书
求职教师自荐书
2014/06/19 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python