$过滤器不工作

$filter is not working

我为 ui-grid 的单元格数据创建了一个过滤器。我想应用带有 angular 内置货币过滤器的自定义过滤器。请在下面找到我的代码:

var HelperServices = angular.module("HelperServices",['Constants']);
HelperServices.filter('getPriceFormat',function(){
    return function(val, $filter){          
            if(val == 0)
                return;
            else
                return ($filter('currency')(val, "", 7));           
            }
});

我在 else 部分的 return 语句中收到错误 TypeError: undefined is not a function

如何让内置过滤器在自定义过滤器中工作???

你注入的 $filter 不正确,应该是

HelperServices.filter('getPriceFormat',function($filter){
    return function(val){          
            if(val == 0)
                return;
            else
                return ($filter('currency')(val, "", 7));           
            }
});

您忘记将 $filter 服务注入您的过滤器

filter('getPriceFormat',function($filter){

或使用内联数组注释更好...

filter('getPriceFormat', ['$filter', function($filter){