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

一,内置的过滤器

1,uppercase,lowercase大小转换

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

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

2,json格式化

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

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

3,date格式化

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

4,number格式化

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

5,currency货币格式化

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

6,filter查找

  1. {{ [{"age": 20,"id": 10,"name": "iphone"},
  2. {"age": 12,"id": 11,"name": "sunm xing"},
  3. {"age": 44,"id": 12,"name": "test abc"}
  4. ] | filter:'s'}}    //查找含有有s的行
  5. //上例结果:[{"age":12,"id":11,"name":"sunm xing"},{"age":44,"id":12,"name":"test abc"}]
  6. {{ [{"age": 20,"id": 10,"name": "iphone"},
  7. {"age": 12,"id": 11,"name": "sunm xing"},
  8. {"age": 44,"id": 12,"name": "test abc"}
  9. ] | filter:{'name':'iphone'} }}   //查找name为iphone的行
  10. //上例结果:[{"age":20,"id":10,"name":"iphone"}]

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

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

8,orderBy对像排序

  1. {{ [{"age": 20,"id": 10,"name": "iphone"},
  2. {"age": 12,"id": 11,"name": "sunm xing"},
  3. {"age": 44,"id": 12,"name": "test abc"}
  4. ] | orderBy:'id':true }}        //根id降序排
  5. {{ [{"age": 20,"id": 10,"name": "iphone"},
  6. {"age": 12,"id": 11,"name": "sunm xing"},
  7. {"age": 44,"id": 12,"name": "test abc"}
  8. ] | orderBy:'id' }}           //根据id升序排

二,自定filter功能

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

1,filters.js添加一个module

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

2,app.js中加载这个module

  1. var phonecatApp = angular.module('phonecatApp', [
  2. 'ngRoute',
  3. 'phonecatControllers',
  4. 'facebookControllers',
  5. 'tanktest'
  6. ]);

3,html中调用

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

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

from : http://blog.51yip.com/jsjquery/1592.html

angularjs filter 详解的更多相关文章

  1. angularjs filter详解

    过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果. 主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等. ng内置了一些过滤器, ...

  2. css filter详解

    css filter详解 filter 属性详解 属性 名称 类型 说明 grayscale 灰度 值为数值 取值范围从0到1的小数(包括0和1) sepia 褐色 值为数值 取值范围从0到1的小数( ...

  3. Spring Security Filter详解

    Spring Security Filter详解 汇总 Filter 作用 DelegatingFilterProxy Spring Security基于这个Filter建立拦截机制 Abstract ...

  4. java web之Filter详解

    java web之Filter详解 2012-10-20 0 个评论 作者:chenshufei2 收藏 我要投稿 .概念: Filter也称之为过滤器,它是Servlet技术中比较激动人心的技术,W ...

  5. Zuul之Filter详解

    Zuul详解 官方文档:https://github.com/Netflix/zuul/wiki/How-it-Works Zuul的中心是一系列过滤器,能够在HTTP请求和响应的路由过程中执行一系列 ...

  6. AngularJS Providers 详解

    供应者(Providers) Each web application you build is composed of objects that collaborate to get stuff d ...

  7. AngularJs MVC 详解

    为什么在前端也需要MVC 1.代码规模越来越大,切分职责是大势所趋 2.为了复用 3.为了后期维护方便 MVC的目的是为了模块化和复用 前端实现MVC的困难 1.操作DOM必须等整个页面加载完 2.多 ...

  8. angularjs 指令详解 - template, restrict, replace

    通过指令机制,angularjs 提供了一个强大的扩展系统,我们可以通过自定义指令来扩展自己的指令系统. 怎样定义自己的指令呢? 我们通过 Bootstrap UI来学习吧.这个项目使用 angula ...

  9. Servlet之Filter详解

    参考文献:http://www.cnblogs.com/zlbx/p/4888312.html Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程.为什么要引入过滤器呢?在平常访问网站的时 ...

随机推荐

  1. Kinetic使用注意点--image

    new Image(config) 参数: config:包含所有配置项的对象. { image: "图片对象", crop: "图片裁剪对象", fill: ...

  2. NET Reflector 8 使用

    一,把杀毒软件停掉 二,把原机器上的 Reflector 文件删除 三,找到C:\Users\Administrator\AppData\Local\Red Gate这个目录,将里面的东西删除 四,v ...

  3. python学习笔记2(变量)

    变量是只不过保留的内存位置用来存储值,这意味着,当创建一个变量,那么它在内存中保留一些空间. Python是弱类型,无需明确指定变量类型,赋值的同时会自动声明类型. x = 1 y = 2.0 nam ...

  4. 2336: [HNOI2011]任务调度 - BZOJ

    一道随机算法的题目 随便用什么随机算法 首先我们可以想到枚举类型3的最终类型,然后再做 先贪心出一个较优的序列,首先我们知道肯定是在A机器上先做完类型1的事件再做类型2的事件,机器B也类似,因为这些没 ...

  5. ExtJS4.2学习(五)表格渲染与复选框

    鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-10/174.html --------------- ...

  6. [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 ...

  7. 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 ...

  8. hdu 2509 Be the Winner 博弈论

    博弈论水题!!! 代码如下: #include<stdio.h> #include<iostream> using namespace std; int main(){ int ...

  9. 去除右键菜单opendlg

    环境:windows8.1专业版 未知文件类型,右键会多出一个opendlg的选项!下面是移除的方法: 将下面的内容复制到记事本,并另存为XXX .reg,导入注册表即可!   Windows Reg ...

  10. Armitage初始化

    Kali2.0 Armitage初始化步骤如下 (1)点击页面的Armitage按钮 (2)提示Metasploit RPC server is not running,是否启动该服务,选择是 (3) ...