filter:

  filter过滤器第一个参数若是对象:

    <ul>
<li ng-repeat="friend in friends | filter:{'name':'John'}"><!--对象指定属性查找-->
<p>{{friend.name}} {{friend.phone}}</p>
</li>
</ul>
         $scope.friends = [
{name: 'John', phone: '555-1212', age: 10},
{name: 'Mary', phone: '555-9876', age: 19},
{name: 'Mike', phone: '555-4321', age: 21},
{name: 'Adam', phone: '555-5678', age: 35},
{name: 'Adam', phone: '555-5678  John', age: 35},
{name: 'Julie', phone: '555-8765', age: 29}
];

结果: 

如果我们希望对全部属性进行对比,可以将$当作键名

   <ul>
<li ng-repeat="friend in friends | filter:{'$':'John'}"><!--对象所有属性值查找 filter:{'$':'John'} 等同于filter:'John'-->
<p>{{friend.name}} {{friend.phone}}</p>
</li>
</ul>

结果:

orderBy:

  第二个参数有值的情况:

      <table class="friends">
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Age</th>
</tr>
<tr ng-repeat="friend in friends | orderBy:'age':true"><!--根据age降序排列-->
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>

  第二个参数为true时,是根据age降序排列

结果:

若为false,则为升序排列:

      <table class="friends">
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Age</th>
</tr>
<tr ng-repeat="friend in friends | orderBy:'age':false"><!--根据age升序排列-->
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>

结果:

filter与orderBy共用:

        <input type="text" ng-model="age"/>
<table class="friends">
<tr>
<th>Name</th>
<th>Phone Number</th>
<th>Age</th>
</tr>
<tr ng-repeat="friend in friends | filter: age | orderBy:'age'"><!--fiter与orderBy共用-->
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>

结果:

JSON:

json过滤器可以将一个json或javascript对象转换成字符串

<p>{{ {name:'aa',age:23} | json }}</p>

输出结果:

{ "name": "aa", "age": 23 } 

 Number:

    <input type="text" ng-model="fraction"/>
<p>默认为3位 :{{fraction | number}}</p><!--12,345.679 四舍五入-->
<p>fractionSize为5位 :{{fraction | number:5}}</p><!--fractionSize为5位 :12,345.67890 自动补零-->
<p>fractionSize为0位 :{{fraction | number:0}}</p><!--fractionSize为0位 :12,346-->
<p>负数fractionSize为4位 :{{-fraction | number:4}}</p><!--fractionSize为4位 :-12,345.6789-->
<p>string类型测试 :{{str | number:4}}</p><!--string类型测试 :3,455.0000-->
<p>空字符串类型测试 :{{'' | number}}</p><!--空字符串类型测试 :0-->
<p>非数字字符串类型测试 :{{'test' | number}}</p><!--空字符串类型测试 :空字符串-->

注意:如果传入一个非数字字符,会返回空字符串。

$scope.str = '3455';

currency:

    <input type="text" ng-model="price"/>
<p>default currency symbol ($):{{price | currency}}</p><!--default currency symbol ($): $12,345.68-->
<p>custom currency identifier (USD$):{{price | currency:'USD$'}}</p><!--custom currency identifier (USD$): USD$12,345.68-->
<p>fractions为2位:{{price | currency:'RMB':2}}</p><!--RMB12,345.68-->
<p>no fractions(0):{{price | currency:'RMB':0}}</p><!--RMB12,346-->
<p>string类型测试:{{str | currency:'RMB':2}}</p><!--string类型测试:RMB3,455.00-->
$scope.str = '3455';

 limitTo:

    <p><strong>数据类型是数组:</strong></p>
<p>从开始位置数组限制:{{numbers | limitTo:5}}</p><!--从开始位置数组限制:[1,2,3,4,5]-->
<p>从末尾位置数组限制:{{numbers | limitTo:-5}}</p><!--从末尾位置数组限制:[5,6,7,8,9]-->
<p>限制长度大于数组的长度:{{numbers | limitTo:15}}</p><!--限制长度大于数组的长度:[1,2,3,4,5,6,7,8,9] 整个数组会被输出-->
<p>第二个参数--从哪个位置开始截取:{{numbers | limitTo:3:4}}</p><!--第二个参数--从哪个位置开始截取:[5,6,7] 从索引为4的位置开始截取,包括此位置-->
<p><strong>数据类型是字符串:</strong></p>
<p>从开始位置字符串限制:{{letters | limitTo:5}}</p><!--从开始位置字符串限制:abcde-->
<p>从末尾位置字符串限制:{{letters | limitTo:-5}}</p><!--从末尾位置字符串限制:efghi-->
<p>限制长度大于字符串的长度:{{letters | limitTo:15}}</p><!--限制长度大于字符串的长度:abcdefghi 整个字符串会被输出-->
<p>第二个参数--从哪个位置开始截取:{{letters | limitTo:3:4}}</p><!--第二个参数--从哪个位置开始截取:efg 从索引为4的位置开始截取,包括此位置-->
<p><strong>数据类型是数字类型:</strong></p>
<p>从开始位置数字限制:{{longNumber | limitTo:5}}</p><!--从开始位置数字限制:23454-->
<p>从末尾位置数字限制:{{longNumber | limitTo:-5}}</p><!--从末尾位置数字限制:32342-->
<p>限制长度大于数字的长度:{{longNumber | limitTo:15}}</p><!--限制长度大于数字的长度:2345432342 整个数字会被输出-->
<p>第二个参数--从哪个位置开始截取:{{longNumber | limitTo:3:4}}</p><!--第二个参数--从哪个位置开始截取:432 从索引为4的位置开始截取,包括此位置-->

注意:如果传入的长度值大于被操作的数组或字符串的长度,那么整个字符串或数组或数字都会被返回。

    $scope.numbers = [1,2,3,4,5,6,7,8,9];
$scope.letters = "abcdefghi";
$scope.longNumber = 2345432342;

http://www.cnblogs.com/wolf-sun/p/4752004.html

angularjs自带过滤器的更多相关文章

  1. 前端MVC学习总结——AngularJS验证、过滤器

    前端MVC学习总结--AngularJS验证.过滤器 目录 一.验证 二.过滤器 2.1.内置过滤器 2.1.1.在模板中使用过滤器 2.1.2.在脚本中调用过滤函数 2.2.自定义过滤器 三.指令( ...

  2. angularjs 自带的过滤器

    一,内置的过滤器 1,uppercase,lowercase大小转换 {{ "lower cap string" | uppercase }}     //结果:LOWER CAP ...

  3. 前端MVC学习总结(二)——AngularJS验证、过滤器、指令

    一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-m ...

  4. angularJS之使用过滤器转化输出 (angularJS系列最后一篇)

    在视图模板中使用过滤器 过滤器也是一种服务,负责对输入的内容进行处理转换,以便更好地向用户显示. 过滤器可以在模板中的{{}}标记中使用: {{ expression | filter:arg1:ar ...

  5. 前端MVC学习笔记(二)——AngularJS验证、过滤器、指令

    一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-m ...

  6. AngularJS中自定义过滤器

    AngularJS中为我们提供了一些内置的过滤器,这里列举一些自定义过滤器的场景. 自定义过滤器,不带参赛 //过滤 不带参赛 app.filter('ordinal', function () { ...

  7. 【angularJS】Filter 过滤器

    当从后台获取到的数据呈现到视图上时,此时可能需要对数据进行相应的转换,此时我们可以通过过滤器在不同页面进行不同数据的格式抓换,在AngularJS中有常见默认的过滤器,当然若不满足所需,我们可以自定义 ...

  8. angularjs之filter过滤器

    现在公司用ionic,就是基于angularjs封装了一些api用于webapp,最近用的angularjs的filter确实省了很多代码,现在总结一下! ng比较鸡肋的过滤器,这里就一笔带过吧!鸡汤 ...

  9. AngularJS:自定义过滤器

    表达式:         {{ expression | filter1 | filter2 | ... }}         {{ expression | filterName : paramet ...

随机推荐

  1. SQL Server Reporting Services:无法检索应用程序文件。部署中的文件已损坏

    如果在客户端计算机上启动Microsoft SQL Server 2012的 ClickOnce 版本的 Microsoft SQL Server 报表生成器时出现"无法检索应用程序文件.部 ...

  2. linq to sql 输出SQL语句

    DataClassesDataContext db = new DataClassesDataContext(); db.Log=Response.Output; var result = from ...

  3. [Java入门笔记] 面向对象三大特征之:继承

    理解什么是继承 首先我们知道,面对对象有三大特征: 封装:解决了数据的安全性问题 继承:解决了代码的重用问题 多态:解决了程序的扩展问题 上一篇博客中,我们了解了一下封装,现在我了再来看看什么是继承. ...

  4. MariaDB的GTID复制和多源复制

    什么是GTID? GTID就是全局事务ID(global transaction identifier ),最初由google实现,官方MySQL在5.6才加入该功能.GTID实际上是由UUID+TI ...

  5. cookie实现记住密码

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  6. 浅谈Java中的对象和引用

    浅谈Java中的对象和对象引用 在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起 ...

  7. 匈牙利算法——S.B.S.

    匈牙利算法是由匈牙利数学家Edmonds于1965年提出,因而得名.匈牙利算法是基于Hall定理中充分性证明的思想,它是部图匹配最常见的算法,该算法的核心就是寻找增广路径,它是一种用增广路径求二分图最 ...

  8. Linux 之 GCC 和 GDB

    1  GCC = GNU C Compiler 1)  pre-processing (预处理) $ gcc -E -o hello.i hello.c // -E 预处理后停止 2)  compil ...

  9. 踩坑所引发出的appendChild方法的介绍

    问题描述 最近在做项目时,遇到一个问题,当js生成一个组件后,会注入到页面的某个节点里显示.在组件内部进行了一次注入操作,在调用组件的外部js文件中也进行了一次注入操作,结果发现页面里只生成了一份组件 ...

  10. node爬虫之gbk网页中文乱码解决方案

    之前在用 node 做爬虫时碰到的中文乱码问题一直没有解决,今天整理下备忘.(PS:网上一些解决方案都已经不行了) 中文乱码具体是指用 node 请求 gbk 编码的网页,无法正确获取网页中的中文(需 ...