angularjs filter 详解
系统的学习了一下angularjs,发现angularjs的有些思想根php的模块smarty很像,例如数据绑定,filter。如果对smarty比较熟悉的话,学习angularjs会比较容易一点。这篇简单说一下angularjs的filter功能,angularjs的filter功能可分为二种,一种是内置的过滤器,一种是自定义的。
一,内置的过滤器
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详解
过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果. 主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等. ng内置了一些过滤器, ...
- css filter详解
css filter详解 filter 属性详解 属性 名称 类型 说明 grayscale 灰度 值为数值 取值范围从0到1的小数(包括0和1) sepia 褐色 值为数值 取值范围从0到1的小数( ...
- Spring Security Filter详解
Spring Security Filter详解 汇总 Filter 作用 DelegatingFilterProxy Spring Security基于这个Filter建立拦截机制 Abstract ...
- java web之Filter详解
java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...
- Zuul之Filter详解
Zuul详解 官方文档:https://github.com/Netflix/zuul/wiki/How-it-Works Zuul的中心是一系列过滤器,能够在HTTP请求和响应的路由过程中执行一系列 ...
- AngularJS Providers 详解
供应者(Providers) Each web application you build is composed of objects that collaborate to get stuff d ...
- AngularJs MVC 详解
为什么在前端也需要MVC 1.代码规模越来越大,切分职责是大势所趋 2.为了复用 3.为了后期维护方便 MVC的目的是为了模块化和复用 前端实现MVC的困难 1.操作DOM必须等整个页面加载完 2.多 ...
- angularjs 指令详解 - template, restrict, replace
通过指令机制,angularjs 提供了一个强大的扩展系统,我们可以通过自定义指令来扩展自己的指令系统. 怎样定义自己的指令呢? 我们通过 Bootstrap UI来学习吧.这个项目使用 angula ...
- Servlet之Filter详解
参考文献:http://www.cnblogs.com/zlbx/p/4888312.html Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程.为什么要引入过滤器呢?在平常访问网站的时 ...
随机推荐
- install ruby and ruby gem
sudo apt-get install ruby #find an folder and: git clone https://github.com/rubygems/rubygems.git cd ...
- 微软职位内部推荐-Senior Network Engineer
微软近期Open的职位: Global Foundation Services is the team behind the cloud. GFS is responsible for deliver ...
- Myeclipse 2013 professional 破解,下载
昨天重装了系统,今天重新搭建开发环境,就顺便把Myeclipse升级到了2013,点击下载Myeclipse2013.惯例,需要破解Myeclipse2013,不过我发现我之前的破解Myeclipse ...
- 简单3d RPG游戏 之 004 攻击(一)
功能:实现点击键盘F键,怪物血量条减少,并且假定是近战,需要对距离进行判断,距离小于一定值的时候按F才会减少怪物的血条. 新建c#脚本PlayerAttack,绑定到Player,并在unity里将敌 ...
- 团队软件开发_基于windows下截屏软件关于NABC框架的特点
经过我们小组数次的激烈讨论,就自己的能力和时间而言,我们小组的初步的计划是开发一款基于windows下的截图软件. 关于这个软件的功能,我们初步的想法如下: 1.能在windows下后台运行,有相应的 ...
- Mybatis+SpringMVC的项目环境搭建
一.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&qu ...
- jQuery.serializeArray() 函数详解
serializeArray()函数用于序列化一组表单元素,将表单内容编码为一个JavaScript数组. serializeArray()函数常用于将表单内容序列化为JSON对象,以便于被编码为JS ...
- 团体程序设计天梯赛-练习集L2-011. 玩转二叉树
L2-011. 玩转二叉树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜 ...
- uva 10154
dp 记忆化搜索 做的时候像dfs #include <iostream> #include <cstring> #include <cstdio> #incl ...
- Android 控制ScrollView滚动到底部
scrollView.fullScroll(ScrollView.FOCUS_DOWN);滚动到底部 scrollView.fullScroll(ScrollView.FOCUS_UP);滚动到顶部 ...