过滤器用来格式化需要展示给用户的数据。AngularJS有很多实用的内置过滤器,同时也提供了方便的途径可以自己创建过滤器。
下面是一些系统集成的过滤器:
1. currency
currecy过滤器可以将一个数值格式化为货币格式,currecy过滤器允许我们自己设置货币符号。默认情况下会采用客户端所处区域的货币符号,但是也可以自定义货币符号。
2. date
date过滤器可以将日期格式化成需要的格式。AngularJS中内置了几种日期格式,如果没有指定使用任何格式,默认会采用mediumDate格式,例如:
{{ today | date:'medium' }} <!-- Aug 09, 2013 12:09:02 PM -->
{{ today | date:'short' }} <!-- 8/9/1312:09PM -->
{{ today | date:'fullDate' }} <!-- Thursday, August 09, 2013 -->
{{ today | date:'longDate' }} <!-- August 09, 2013 -->
{{ today | date:'mediumDate' }}<!-- Aug 09, 2013 -->
{{ today | date:'shortDate' }} <!-- 8/9/13 -->
{{ today | date:'mediumTime' }}<!-- 12:09:02 PM -->
{{ today | date:'shortTime' }} <!-- 12:09 PM -->
四位年份:{{ today | date:'yyyy' }} <!-- 2013 -->
两位年份:{{ today | date:'yy' }} <!-- 13 -->
一位年份:{{ today | date:'y' }} <!-- 2013 -->
英文月份:{{ today | date:'MMMM' }} <!-- August -->
英文月份简写:{{ today | date:'MMM' }} <!-- Aug -->
数字月份:{{ today |date:'MM' }} <!-- 08 -->
一年中的第几个月份:{{ today |date:'M' }} <!-- 8 -->
数字日期:{{ today|date:'dd' }} <!-- 09 -->
一个月中的第几天:{{ today | date:'d' }} <!-- 9 -->
英文星期:{{ today | date:'EEEE' }} <!-- Thursday -->
英文星期简写:{{ today | date:'EEE' }} <!-- Thu -->
3. filter
filter过滤器可以从给定数组中选择一个子集,并将其生成一个新数组返回,当然你也可以自己定义自己的函数来过滤,例如:
{{ ['Ari','likes','to','travel'] | filter:isCapitalized }}
isCapitalized 是一个函数,函数的实现如下:
$scope.isCapitalized = function(str) {
return str[0] == str[0].toUpperCase();
};
这个的意思就是说第一个字符为大写的集合
4、json
json是将json对象转换成字符串格式,例如:
{{ {'name': 'Ari', 'City': 'SanFrancisco'} | json }} 返回结果为
{
"name": "Ari",
"City": "San Francisco"
}
5limitTo
限制字符的长度,例如:
{{ San Francisco is very cloudy | limitTo:3 }}
则返回San,当然limintTo后面也可以是负数,那么字符串将从后面开始返回例如:{ San Francisco is very cloudy | limitTo:-3 }} 则返回udy
先介绍这么多,后面还有几个,下回接着介绍