Angularjs 过滤器使用
Filter:格式化数据
// HTML表达式:
{{ filter_expression | filter : expression : comparator}}
// JS表达式:
$filter(
'filter'
)(array, expression, comparator)
Filter是用来格式化数据用的。
Filter的基本原型( ‘|’ 类似于Linux中的管道模式):
{{ expression | filter }}
Filter可以被链式使用(即连续使用多个filter):
{{ expression | filter1 | filter2 | ... }}
Filter也可以指定多个参数:
{{ expression | filter:argument1:argument2:... }}
currencyFilter(currency):
用途:格式化货币
方法原型:
function(amount, currencySymbol, fractionSize)
用法:
{{ 12 | currency}} <!--将12格式化为货币,默认单位符号为 '$', 小数默认2位--> {{ 12.45 | currency:'¥'}} <!--将12.45格式化为货币,使用自定义单位符号为 '¥', 小数默认2位--> {{ 12.45 | currency:'CHY¥':1}} <!--将12.45格式化为货币,使用自定义单位符号为 'CHY¥', 小数指定1位, 会执行四舍五入操作 --> {{ 12.55 | currency:undefined:0}} <!--将12.55格式化为货币, 不改变单位符号, 小数部分将四舍五入 -->
dateFilter(date):
用途:格式化日期
方法原型:
function(date, format, timezone)
用法:
<!--使用ISO标准日期格式 -->
{{ '2015-05-20T03:56:16.887Z' | date:"MM/dd/yyyy @ h:mma"}} <!--使用13位(单位:毫秒)时间戳 -->
{{ 1432075948123 | date:"MM/dd/yyyy @ h:mma"}} <!--指定timezone为UTC -->
{{ 1432075948123 | date:"MM/dd/yyyy @ h:mma":"UTC"}}
filterFilter(filter):
用途:过滤数组
方法原型:
function(array, expression, comparator)
用法1(参数expression使用String):
<div ng-init="myArr = [{name:'Tom', age:20}, {name:'Tom Senior', age:50}, {name:'May', age:21}, {name:'Jack', age:20}, {name:'Alice', age:22}]">
<!-- 参数expression使用String,将全文搜索关键字 'a' -->
<div ng-repeat="u in myArr | filter:'a' ">
<p>Name:{{u.name}}</p>
<p>Age:{{u.age}}</p>
<br />
</div>
</div>
用法2(参数expression使用function):
// 先在Controller中定义function: myFilter
$scope.myFilter = function (item) {
return item.age === 20;
}; <div ng-repeat="u in myArr | filter:myFilter ">
<p>Name:{{u.name}}</p>
<p>Age:{{u.age}}</p>
<br />
</div>
用法3(参数expression使用object):
<div ng-init="myArr = [{name:'Tom', age:20}, {name:'Tom Senior', age:50}, {name:'May', age:21}, {name:'Jack', age:20}, {name:'Alice', age:22}]">
<div ng-repeat="u in myArr | filter:{age: 21} ">
<p>Name:{{u.name}}</p>
<p>Age:{{u.age}}</p>
<br />
</div>
</div>
用法4(指定comparator为true或false):
<div ng-init="myArr = [{name:'Tom', age:20}, {name:'Tom Senior', age:50}, {name:'May', age:21}, {name:'Jack', age:20}, {name:'Alice', age:22}]">
Name:<input ng-model="yourName" />
<!-- 指定comparator为false或者undefined,即为默认值可不传,将以大小写不敏感的方式匹配任意内容 -->
<!-- 可以试试把下面代码的comparator为true,true即大小写及内容均需完全匹配 -->
<div ng-repeat="u in myArr | filter:{name:yourName}:false ">
<p>Name:{{u.name}}</p>
<p>Age:{{u.age}}</p>
<br />
</div>
</div>
用法5(指定comparator为function):
// 先在Controller中定义function:myComparator, 此function将能匹配大小写不敏感的内容,但与comparator为false的情况不同的是,comparator必须匹配全文
$scope.myComparator = function (expected, actual) {
return angular.equals(expected.toLowerCase(), actual.toLowerCase());
} <div ng-init="myArr = [{name:'Tom', age:20}, {name:'Tom Senior', age:50}, {name:'May', age:21}, {name:'Jack', age:20}, {name:'Alice', age:22}]">
Name:<input ng-model="yourName" />
<div ng-repeat="u in myArr | filter:{name:yourName}:myComparator ">
<p>Name:{{u.name}}</p>
<p>Age:{{u.age}}</p>
<br />
</div>
</div>
感谢码农网 原文链接http://www.codeceo.com/article/angularjs-filter-usage.html
Angularjs 过滤器使用的更多相关文章
- AngularJS过滤器filter-时间日期格式-渲染日期格式-$filter
今天遇到了这些问题索性就 写篇文章吧 话不多说直接上栗子 不管任何是HTML格式还是JS格式必须要在 controller 里面写 // new Date() 获取当前时间 yyyy-MM-ddd ...
- AngularJS 过滤器
过滤器可以使用一个管道字符(|)添加到表达式和指令中 AngularJS 过滤器可用于转换数据: currency 格式化数字为货币格式. filter 从数组项中选择一个子集. lowercase ...
- AngularJS过滤器
1.过滤器可以使用一个管道字符(|)添加到表达式和指令中. 再次强调一点,所有的运行都要加入angularJS的库文件(类似JQuery的引用) 常见的AngularJS 过滤器 (1) lowerc ...
- AngularJS学习之旅—AngularJS 过滤器(七)
1.AngularJS 过滤器 过滤器可以使用一个管道字符(|)添加到表达式和指令中. AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式. filter ...
- AngularJS 1.x系列:AngularJS过滤器(4)
1. AngularJS过滤器(Filter)使用方法 AngularJS中过滤器(Filter)主要功能是格式化数据. AngularJS过滤器使用方法有3种: ◊ 在表达式{{}}中使用 ◊ 在指 ...
- AngularJS过滤器filter入门
在开发中,经常会遇到这样的场景 如用户的性别分为“男”和“女”,在数据库中保存的值为1和0,用户在查看自己的性别时后端返回的值自然是1或0,前端要转换为“男”或“女”再显示出来: 如我要换个羽毛球拍, ...
- AngularJS控制器和AngularJS过滤器的学习(3)
前面简单的学习了AngularJS的表达式和指令,就可以说大概对AngularJS有了一定的了解吧,嘿嘿,下面就来总结学习一下AngularJS的控制器和过滤器哦. 说起来AngularJS控制器,其 ...
- angularJS 过滤器 表单验证
过滤器1.filter的作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果,主要用于数据的格式化.2.内置过滤器(1)Currency(货币)将一个数值格式化为货币格式,默认为$(2)D ...
- angularjs过滤器(一)------禁止转载------
如果用代码实现:将new Date()转换为 M/D/YY 00:00 格式. 启用过滤器有两种方式:①在HTML中用"|"启用过滤器.格式为{{$scope.property | ...
- 关于angularjs过滤器的小尝试
最近的项目中用到了angularjs,相比传统的jquery直接操作Dom, 开发web项目,angularjs在操作表格数据时的数据绑定,操作让我不禁直呼过瘾,好方便啊, 从后台接口传一个json过 ...
随机推荐
- Android滑动冲突解决
(1).场景一:外部滑动方向跟内部滑动方向不一致,比如外部左右滑动,内部上下滑动 ViewPager+Fragment配合使用,会有滑动冲突,但是ViewPager内部处理了这种滑动冲突 如果 ...
- elasticsearch及head插件安装与配置
1. 环境软件版本说明 系统:ubuntu14.04.1 JDK:1.8 elasticsearch:5.5.2 node:9.11.1 elasticsearch:5.X 2. 环境软件下载说明 1 ...
- 从面向服务架构(SOA)学习:微服务时代应该借鉴的5条经验教训
[编者按]本文作者为 Matt McLarty,通过介绍 SOA 的兴衰变化,总结了微服务应该借鉴的5条经验教训.文章系国内 ITOM 管理平台 OneAPM 编译呈现. SOA 的兴衰变化让我们更了 ...
- 适配器Adapter
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/4 22:13 # @Author : ChenAdong # @emai ...
- shell编程-输出(六)
echo输出echo指令用于字符串的输出 格式:echo 字符串 直接输出字符串:string echo 'this is string-output' 用双引号,这儿也可以省略引号 转义字符:\ e ...
- mssql sqlserver 获取指定汉字的笔画数的方法分享
转自:http://www.maomao365.com/?p=6421 摘要: 下文讲述计算汉字笔画数的sql函数分享,如下所示: 例:建立汉字笔画数sql函数 )) returns int as b ...
- 上传github文件及所出现的问题
上传github所发现的问题 准备工作 使用 git bush 输入下面的命令 git config --global user.email "you@example.com" g ...
- scrapy入门:安装scrapy
1.安装Scrapy pip 安装: pip install scrapy 要求pip至少是18.1版本的,10.x版本会提示更新pip 更新pip命令: python -m pip install ...
- c/c++ 标准库 vector
c/c++ 标准库 vector 标准库 vector的小例子 test1~test7 #include <iostream> #include <vector> using ...
- 代码管理工具:Git 和 Svn 的简单操作
1. git 先注册git config --global user.name "name" git config --global user.email "email& ...