constant

AngularJS内置过滤器:

1. currency (货币处理)

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

{{num | currency : '¥'}}

格式化货币:{{num | currency : '¥'}}

2. date (日期格式化)

原生的js对日期的格式化能力有限,ng提供的date过滤器基本可以满足一般的格式化要求。用法如下:

{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}

格式化日期:{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}

3. filter(匹配子串)

这个名叫filter的filter(不得不说这名字起的,真让人容易混淆——!)用来处理一个数组,然后可以过滤出含有某个子串的元素,作为一个子数组来返回。可以是字符串数组,也可以是对象数组。如果是对象数组,可以匹配属性的值。它接收一个参数,用来定义子串的匹配规则。下面举个例子说明一下参数的用法,先定义了一个数组:

				
					$scope.nameArray = [
					{ name: '开放树',age: 23 },
					{ name: '康桥炯',age: 23 },
					{ name: '陈阿婆',age: 99 },
					{ name: '钟铁头',age: 36 },
					];
					$scope.func = function(e){return e.age > 30;}
				
			

用法1(参数使用字符串):

{{ nameArray | filter: '陈阿婆' }}


筛选后的数据:{{ nameArray | filter: '陈阿婆' }}

用法2(参数使用函数):

{{ nameArray | filter: func }}


筛选后的数据:{{ nameArray | filter: func }}

用法3(参数使用对象):

{{ nameArray | filter: {age:36} }}


筛选后的数据:{{ nameArray | filter: {age:36} }}

4. json(格式化json对象)

json过滤器可以把一个js对象格式化为json字符串,没有参数。作用就和我们熟悉的JSON.stringify()一样。用法超级简单:

{{ { name:'开放树',age:23 } | json}}

把对象格式化为json字符串:{{ {name:'开放树',age:23} | json}}

5. limitTo(限制数组长度或字符串长度)

limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度,如果参数是负值,则从数组尾部开始截取。看看使用方法:

{{ nameArray | limitTo : 2 }}

将会显示数组中的前两项:{{ nameArray | limitTo : -2 }}

6. lowercase(小写)

把数据转化为全部小写。

{{ "MONEY" | lowercase }}

把"MONEY"变为小写:{{ "MONEY" | lowercase }}

7. uppercase(大写)

把数据转化为全部大写。

{{ "money" | uppercase }}

把"money"变为小写:{{ "money" | uppercase }}

8. number(格式化数字)

number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,可以指定float类型保留几位小数:

{{ num | number: 3 }}

保留3位小数:{{ 123456789 | number: 1 }}

9. orderBy(排序)

orderBy过滤器可以将一个数组中的元素进行排序,接收一个参数来指定排序规则,参数可以是一个字符串,表示以该属性名称进行排序。可以是一个函数,定义排序属性。还可以是一个数组,表示依次按数组中的属性值进行排序(若按第一项比较的值相等,再按第二项比较),还是拿上面的数组举例:

{{ nameArray | orderBy : 'age' }}

按age属性值进行排序,若是-age,则倒序:
{{ nameArray | orderBy : 'age' }}

{{ nameArray | orderBy : orderFunc }}

按照函数的返回值进行排序:

{{ nameArray | orderBy : ['age','name'] }}

如果age相同,按照name进行排序:
{{ nameArray | orderBy : ['age','name'] }}

自定义过滤器

过滤后的数据:{{ type | typeFilter }}