第六篇,过滤器

AngularJS 过滤器可用于转换数据:

过滤器 描述
currency 格式化数字为货币格式。
filter 从数组项中选择一个子集。
lowercase 格式化字符串为小写。
orderBy 根据某个表达式排列数组。
uppercase 格式化字符串为大写。

1、在模板中使用filter:直接在{{}}中使用filter,在表达式后用|进行分割

A、单一filter

语法:{{ expression | filter }}

示例:<div ng-app="">

<span>lowercase:{{ "JUST Do It"| lowercase }}</span><br />
<span>uppercase:{{ "lower cap string" | uppercase }}</span><br />
<span>currency:{{ "250" | currency }}</span>
</div>

显示结果:lowercase:just do it
                       uppercase:LOWER CAP STRING
                       currency:$250.00

B、可以多个filter连用,上一个filter的输出将作为下一个filter的输入

语法:{{ expression | filter1 | filter2 | ... }}

示例:<div ng-app="">

<span>多个过滤器:</span><br />
<span>小数点,货币单位{{ "320"| number:2|currency }}</span><br />
</div>

显示结果:小数点,货币单位$320.00

number先将数字保留两位小数,currency再转换成货币单位,其中,number:2就是以下要说明的带参数的过滤器

C、带参数的过滤器

1) currency :使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号

{{ "123"|currency:'¥' }}

2) number : 可以为一个数字加上千位分割,例如,123,456,789。

同时接收一个参数,可以指定小float类型保留几位小数:

{{ num | number : 2 }}

3) limitTo:limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度。

{{ childrenArray|limitTo:2 }}(childrenArray为已初始化的数组,下文亦是)

4) orderBy :orderBy过滤器可以将一个数组中的元素进行排序,

参数可以是一个字符串,表示以该属性名称进行排序。可以是一个函数,定义排序属性。

还可以是一个数组,表示依次按数组中的属性值进行排序(若按第一项比较的值相等,再按第二项比较)

{{ childrenArray|orderBy:'age'}}                   OR           {{ childrenArray|orderBy:['age','name']}}

D、自定义过滤器:利用filter方法创建过滤器,将表达式作为输入,进行数据处理

1)单一参数

<span>{{childrenArray[0] |getChildName}}</span>

 <script type="text/javascript">
var app = angular.module('MyFilter', []);
app.controller('MyFilterCtrl',function($scope) {
$scope.childrenArray = [
{name:'Kimi',age:3},
{name:'Shitou',age:6},
{name:'Anglar',age:4},
{name:'Tiantian',age:5},
{name:'Cindy',age:4}
];
});
app.filter('getChildName',function(){
return function(inputArray){
return inputArray.name+"今年"+inputArray.age+"岁";
}
});
</script>

自定义过滤器

2)多个参数

2、在controller和service中使用filter

【AnjularJS系列6 】 过滤器的更多相关文章

  1. AnjularJS系列6 —— 过滤器

    第六篇,过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式. filter 从数组项中选择一个子集. lowercase 格式化字符串为小写. o ...

  2. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   ...

  3. 笨鸟先飞之ASP.NET MVC系列之过滤器(01过滤器简介)

    过滤器 什么是过滤器? 过滤器(Filter) 主要的作用大致可以理解为把我们的附加逻辑注入到MVC框架的请求处理. 在ASP.NET MVC的请求处理中一种有19个管道事件分别是 BeginRequ ...

  4. 笨鸟先飞之ASP.NET MVC系列之过滤器(02授权过滤器)

    授权过滤器 概念介绍 在之前的文章中我们已经带大家简单的了解了下过滤器,本次我们开始介绍授权过滤器. 我们之前提到过授权过滤器在认证过滤器之后,其他过滤器和方法被调用之前运行,而授权过滤器和它名字的含 ...

  5. 笨鸟先飞之ASP.NET MVC系列之过滤器(03动作过滤器过滤器)

    概念介绍 动作过滤器应该是我们平常工作中需要用到最多的过滤器了,动作过滤器,主要在我们的动作方法执行前后执行. 如果我们需要创建动作过滤器需要实现IActionFilter接口. 我们看到该接口里有两 ...

  6. 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器过滤器)

    概念介绍 认证过滤器是MVC5的新特性,它有一个相对复杂的生命周期,它在其他所有过滤器之前运行,我们可以在认证过滤器中创建一个我们定义的认证方法,也可以结合授权过滤器做一个复杂的认证方法,这个方法可以 ...

  7. 笨鸟先飞之ASP.NET MVC系列之过滤器(05结果过滤器)

    概念介绍 结果过滤器看名字就知道这个过滤器是针对方法所产生结果的,结果过滤器,主要在我们的动作方法结果返回前后执行. 如果我们需要创建结果过滤器需要实现IResultFilter接口. namespa ...

  8. 笨鸟先飞之ASP.NET MVC系列之过滤器(06异常过滤器)

    概念介绍 异常过滤器主要在我们方法中出现异常的时候触发,一般我们用 异常过滤器 记录日志,或者在产生异常时做友好的处理 如果我们需要创建异常过滤器需要实现IExceptionFilter接口. nam ...

  9. 设计模式系列之过滤器模式(Chriteria Pattern)

    过滤器模式(Filter Pattern)或标准模式(Criteria Pattern)是一种设计模式,这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来.这种类 ...

随机推荐

  1. CDR案例:广告条幅banner设计

    本教程练习使用裁剪.位图.变换.阴影.透明度等特殊效果等工具制作广告条幅banner,具体操作如下. 1. 执行“文件”→“新建”命令,打开“创建新文档”对话框,在“宽度”选框右侧选择单位为“像素”, ...

  2. 插入排序InsertSort

    插入排序:从第二个数开始  一直和前面的数组比较 获得排序定位 ​ 代码 /** *插入排序 */ public class InsertSort { public static void inser ...

  3. 转载:移动端自适应:flexible.js可伸缩布局使用

    阿里团队开源的一个库.flexible.js,主要是实现在各种不同的移动端界面实现一稿搞定所有的设备兼容自适应问题. 实现方法: 通过JS来调整html的字体大小,而在页面中的制作稿则统一使用rem这 ...

  4. let var const

    eslint要求变量声明使用const的,而不是let和var如果可能的话. 如果一个变量只有在声明时才被赋值一次,那么应该使用'const' 'use strict';(function() { v ...

  5. 原生js模拟双色球

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  6. Java IO 流总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. nginx的一些

    二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS ...

  8. Fiddler 无法监测WCF通信疑问

    别人的可以检测到通信,我的为什么不行呢? 使用的是basicHttp协议,应该可以的啊,着的是非常奇怪

  9. [Web Worker] Introduce to Web Worker

    What is web worker for? OK, read it docs to get full details idea. Or just a quick intro to web work ...

  10. Zookeeper源代码编译为Eclipseproject(win7下Ant编译)

    为了深入学习ZooKeeper源代码,首先就想到将其导入到Eclispe中,所以要先将其编译为Eclispeproject. 1.什么是Ant??? Apache Ant™ Apache Ant is ...