首页 > 解决方案 > AngularJS - 使用函数作为控制器内的过滤器

问题描述

如果我定义了过滤器

app.filter('filterName', function() {
    return function(var) {
        // Some filter stuff
    }
}

我可以在控制器上调用它$filter('filterName')($scope.someObj);

但是,这是我的问题,如果我有一个用作过滤器的功能

$scope.myFilterFunction = function() {
    return true;
}

在我的 HTML

<p ng-repeat="item in items | filter:myFilterFunction">{{item}}</p>

如何在控制器中使用此功能过滤器(我已经使用 $filter 进行了测试,但会引发错误)。

提前致谢。

标签: angularjsangularjs-filter

解决方案


如果您已经实现了自定义过滤器filterName,为什么不使用它呢?

尝试

<p ng-repeat="item in items | filterName">{{item}}</p>

更新

你只是缺少括号。

<p ng-repeat="item in items | filter:myFilterFunction()">{{item}}</p>

推荐阅读