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,过滤器,顾名思义,即是对数据等的过滤,预处理过程.为什么要引入过滤器呢?在平常访问网站的时 ...
随机推荐
- Kinetic使用注意点--image
new Image(config) 参数: config:包含所有配置项的对象. { image: "图片对象", crop: "图片裁剪对象", fill: ...
- NET Reflector 8 使用
一,把杀毒软件停掉 二,把原机器上的 Reflector 文件删除 三,找到C:\Users\Administrator\AppData\Local\Red Gate这个目录,将里面的东西删除 四,v ...
- python学习笔记2(变量)
变量是只不过保留的内存位置用来存储值,这意味着,当创建一个变量,那么它在内存中保留一些空间. Python是弱类型,无需明确指定变量类型,赋值的同时会自动声明类型. x = 1 y = 2.0 nam ...
- 2336: [HNOI2011]任务调度 - BZOJ
一道随机算法的题目 随便用什么随机算法 首先我们可以想到枚举类型3的最终类型,然后再做 先贪心出一个较优的序列,首先我们知道肯定是在A机器上先做完类型1的事件再做类型2的事件,机器B也类似,因为这些没 ...
- ExtJS4.2学习(五)表格渲染与复选框
鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-10/174.html --------------- ...
- [BEC][hujiang] Lesson04 Unit1:Working life ---Reading + Listening &Grammar & Speaking
4 1.1 Working life P10 Reading----The anonymous CV Exercise 3 What should be included in the CV ...
- cannot find w3wp.exe in VS
Same thing was happening to me, when i remembered that IIS has an idle timeout! As above the proc w3 ...
- hdu 2509 Be the Winner 博弈论
博弈论水题!!! 代码如下: #include<stdio.h> #include<iostream> using namespace std; int main(){ int ...
- 去除右键菜单opendlg
环境:windows8.1专业版 未知文件类型,右键会多出一个opendlg的选项!下面是移除的方法: 将下面的内容复制到记事本,并另存为XXX .reg,导入注册表即可! Windows Reg ...
- Armitage初始化
Kali2.0 Armitage初始化步骤如下 (1)点击页面的Armitage按钮 (2)提示Metasploit RPC server is not running,是否启动该服务,选择是 (3) ...