angular filter

过滤,有点像linux

�# 内置多个过滤器

currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)

关于货币

{{ currency_expression | currency : symbol : fractionSize}}

多个filter

{{ expression | filter1 | filter2 | ... }}

接受参数

{{ expression | filter:argument1:argument2:... }}

指令中过滤

在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

{{ childrenArray | orderBy : 'age' }}
//按age属性值进行排序,若是-age,则倒序
{{ childrenArray | orderBy : orderFunc }}
//按照函数的返回值进行排序
{{ childrenArray | orderBy : ['age','name'] }}
//如果age相同,按照name进行排序

8.自定义过滤器

app.filter('odditems',function(){
    return function(inputArray){
        var array = [];
        for(var i=0;i

你可能感兴趣的:(angular filter)