如何在我的应用程序中添加过滤器

时间:2014-07-08 23:54:26

标签: javascript angularjs

我无法在我的应用中使用Angular过滤器。

我有类似

的东西
app.controller('test', function($scope, $filter){
   myService.get('api/v1/products/?id=1').success(function(data) {
       $scope.products = data;    
       $filter('testFilter', function() {
           return function(products, item) {             
               //codes...
           }
       })   
   })
}

HTML

<div ng-repeat="product in products | testFilter:5 "> {{product.title}} </div>

但是,我收到testFilterProvider未知错误。有人可以帮我解决这个问题吗?非常感谢!

1 个答案:

答案 0 :(得分:2)

要创建过滤器,您需要在模块上调用filter() ...

app.filter('testFilter', function() {
    return function(products, item) {             
         //codes...
    };
});

如果您想在控制器中使用该过滤器,可以调用$filter服务来检索它...

app.controller('test', function($scope, $filter){
   myService.get('api/v1/products/?id=1').success(function(data) {
       $scope.products = data;    
       var filteredProducts = $filter('testFilter')($scope.products, 5);
   });
}