系统的学习了一下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. linux工作队列

    工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到工作队列.说白了就是系统延时调度的一个自定义函数. 工作队列是实现延迟的新机制,从 2.5 版本 Lin ...

  2. maven3.1.1适合搭配的jdk版本

    maven 可以帮助我们管理项目的jar 不同的版本对jdk的要求也不相同, 比如3.1.1就要搭配1.6或以上的jre但是1.7有的版本还是会有点问题 当maven所需的jre版本不对应时项目会报错 ...

  3. 1053: [HAOI2007]反素数ant - BZOJ

    Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数 ...

  4. 解决eclipse“copy项目重命名后重新发布,项目名在地址栏仍然是原来的项目名”的问题

    任务描述:复制项目spring_user并重命名为spring_user_test 一.通过按F2和以下方式可以修改目标项目在workspace的名字 点击项目右键选择properties,输入关键字 ...

  5. 【高斯消元】BZOJ 1770: [Usaco2009 Nov]lights 燈

    Description 貝希和她的閨密們在她們的牛棚中玩遊戲.但是天不從人願,突然,牛棚的電源跳閘了,所有的燈都被關閉了.貝希是一個很膽小的女生,在伸手不見拇指的無盡的黑暗中,她感到驚恐,痛苦與絕望. ...

  6. BZOJ 1706: [usaco2007 Nov]relays 奶牛接力跑

    Description FJ的N(2 <= N <= 1,000,000)头奶牛选择了接力跑作为她们的日常锻炼项目.至于进行接力跑的地点 自然是在牧场中现有的T(2 <= T < ...

  7. The 11th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Pokemon Master

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3776 题意:比较两组数据的总和大小. #include <iostr ...

  8. Firefly——dbentrust 示例DEMO (源码+教程)

    原地址:http://www.9miao.com/question-15-54002.html Firefly——dbentrust示例说明一.数据库准备本篇示例演示的是firefly与MySQL和m ...

  9. ???????????? no permissions

    1.一手鞋地址 google http://developer.android.com/tools/device.html 我处理的方法如下: 我的问题: android的版卡 在Ubuntu12.0 ...

  10. xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!

    1:Xcode6在iPhone5+iOS7模拟器上编译,上下有黑边问题 问题描述: Xcode6环境下,对iPhone5或iPhone5s模拟器,在iOS7或iOS7.1下运行,屏幕上下有黑边.在iO ...