使用currency可以将数字格式化为货币,默认是美元符号,你可以自己传入所需的符号,例如我传入人民币:
{{num | currency : '¥'}}
原生的js对日期的格式化能力有限,ng提供的date过滤器基本可以满足一般的格式化要求。用法如下:
{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}
这个名叫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: '陈阿婆' }}
用法2(参数使用函数):
{{ nameArray | filter: func }}
用法3(参数使用对象):
{{ nameArray | filter: {age:36} }}
json过滤器可以把一个js对象格式化为json字符串,没有参数。作用就和我们熟悉的JSON.stringify()一样。用法超级简单:
{{ { name:'开放树',age:23 } | json}}
limitTo过滤器用来截取数组或字符串,接收一个参数用来指定截取的长度,如果参数是负值,则从数组尾部开始截取。看看使用方法:
{{ nameArray | limitTo : 2 }}
把数据转化为全部小写。
{{ "MONEY" | lowercase }}
把数据转化为全部大写。
{{ "money" | uppercase }}
number过滤器可以为一个数字加上千位分割,像这样,123,456,789。同时接收一个参数,可以指定float类型保留几位小数:
{{ num | number: 3 }}
orderBy过滤器可以将一个数组中的元素进行排序,接收一个参数来指定排序规则,参数可以是一个字符串,表示以该属性名称进行排序。可以是一个函数,定义排序属性。还可以是一个数组,表示依次按数组中的属性值进行排序(若按第一项比较的值相等,再按第二项比较),还是拿上面的数组举例:
{{ nameArray | orderBy : 'age' }}
{{ nameArray | orderBy : orderFunc }}
{{ nameArray | orderBy : ['age','name'] }}