过滤,有点像linux
�# 内置多个过滤器
currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)
关于货币
{{ currency_expression | currency : symbol : fractionSize}}
多个filter
{{ expression | filter1 | filter2 | ... }}
接受参数
{{ expression | filter:argument1:argument2:... }}
指令中过滤
<span ng-repeat="a in array | filter ">
在controller 和 service 中使用 filter
app.controller('testC',function($scope,$filter){
$scope.num = $filter('currency')(123534);
$scope.date = $filter('date')(new Date());
}
ng内置过滤器-常用系列
1.currency
{{num | currency : '¥'}}
2.date
{{date | date : 'yyyy-MM-dd hh:mm:ss EEEE'}}
3.filter(匹配子串)
$scope.childrenArray = [
{name:'kimi',age:3},
{name:'cindy',age:4},
{name:'anglar',age:4},
{name:'shitou',age:6},
{name:'tiantian',age:5}
];
$scope.func = function(e){return e.age>4;}
{{ childrenArray | filter : 'a' }} //匹配属性值中含有a的
{{ childrenArray | filter : 4 }} //匹配属性值中含有4的
{{ childrenArray | filter : {name : 'i'} }} //参数是对象,匹配name属性中含有i的
{{childrenArray | filter : func }} //参数是函数,指定返回age>4的
4.json(调式或者代替JSON.stringify())
{{ jsonTest | json}}
5.limitTo(限制数组的长度或者字符串的长度)
{{ childrenArray | limitTo : 2 }} //将会显示数组中的前两项
6.number 数字的分割
{{ num | number : 2 }} // 保留两位数
7.orderBy
<div>{{ childrenArray | orderBy : 'age' }}</div> //按age属性值进行排序,若是-age,则倒序
<div>{{ childrenArray | orderBy : orderFunc }}</div> //按照函数的返回值进行排序
<div>{{ childrenArray | orderBy : ['age','name'] }}</div> //如果age相同,按照name进行排序
8.自定义过滤器
app.filter('odditems',function(){
return function(inputArray){
var array = [];
for(var i=0;i<inputArray.length;i++){
if(i%2!==0){
array.push(inputArray[i]);
}
}
return array;
}
});