Angular js自定义过滤器到数组

时间:2016-10-04 17:39:57

标签: angularjs

我想将自定义过滤器应用于数组,这里是代码,我是角j的新手。请帮我弄清楚。如何将自定义过滤器应用于数组,是否可以将自定义过滤器应用于数组 我想使用此过滤器制作名称大写的每个第二个字母,但过滤器未应用于x.name。

 <div  ng-app="myapp" ng-controller="my">

    <table border="1">
        <tr>
            <td ng-click="orderbyme('name')">Name</td>
            <td ng-click="orderbyme('city')">City</td>
        </tr>

        <tr ng-repeat="x in names | orderBy:myorder">
            <td>{{x.name | myformat}}</td>
            <td>{{x.city}}</td>
        </tr>
    </table>

</div>


<script>
    var a=angular.module('myapp',[]);

     a.filter('myformat',function(){
        return function(x.name){
            var i,c,j,txt="";
            j=x.name;
            for(i=0;i<x.length;i++) {
                    c=j.[i];

                    if(i%2==0){
                    c = c.toUpperCase();
                    }

            txt=txt+c;
        }
        return txt;
        };
    });


    a.controller('my',function($scope){
        $scope.names=   [{name:'sarthak ',city:'nagpur'},
                         {name:'sayali ',city:'pune'},
                         {name:'amit ',city:'mumbai'},
                         {name:'komal ',city:'saoner'},
                         {name:'dhiraj ',city:'wardha'},
                         {name:'nikhil ',city:'yavatmal'},
                         {name:'sanjeev ',city:'delhi'},
                         {name:'bhavin ',city:'banglore'}

                        ]

        $scope.orderbyme=function(x){
            $scope.myorder=x;
        }
    });
</script>

1 个答案:

答案 0 :(得分:0)

当您点击表格的标题时,您想要做的是订单吗? 关于你想做什么,它更明确一些。