angular之自定义过滤器的使用

 自定义过滤器需要使用filter函数,格式如下:

  filter("filterName',function(){

    return function(target,args){

    ....

    }

  }

  filter函数的第一个参数是这个自定义过滤器的名称,第二个函数是个回调函数,在这个函数中需要返回一个函数(inner),在inner函数中我们需要把具体的代码实现封装进去。而inner的第一个从参数target是目标参数,就是需要进行过滤的数据,第二个参数是需要在这个自定义过滤器中传入的参数,例如系统自带的过滤器number:2,此时2就是传入过滤器的参数,也就对应于自定义过滤器的第二个参数。

  下面是个具体的例子:

  

<div ng-controller = 'ctrl'>
        <h2>{{name | define}}</h2>
    </div>
    <script>
        var app = angular.module('app',[]);
        app.filter('define',function(){
            var go = function(na){
                var str = na.split(' ');
                for(var i = 0; i < str.length; i++){
                    str[i] = str[i].charAt(0).toUpperCase() + str[i].substring(1);
                }
                return str.join(' ');
            }
            return go;
        });
        app.controller('ctrl',function($scope){
            $scope.name = 'this is a demo';
        });
    </script>

  这段代码中的过滤器的作用是将文本中的单词首字母大写。(该代码借鉴于流浪猫の窝)。