Angular中的自定义链过滤器

Custom chain filter in Angular

本文关键字:过滤器 自定义 Angular      更新时间:2023-09-26

大家好!

我遇到了一个问题:我无法在Angular中编写用于过滤器链的过滤器。我对Angular还不够熟悉,所以我希望这将是我代码中的一个小错误。

所以,首先,我的js文件带有过滤器(我想我可以做一些完全愚蠢的事情,所以我几乎以形式提供它(:

(function () {
    angular.module('myModule')
        .filter('firstFilter', function () {
            return function (input) {
                    return input;
                }
        });
    angular.module('myModule')
        .filter('secondFilter', function () {
            return function (input, firstParam, secondParam) {
                return input;
            }
        });
})();

然后是我的一段html,它使用了secondFilter:

<tr ng-repeat="someObject in (someObjects | secondFilter : firstParam : secondParam)"></tr>

但当页面加载时,它会给我错误:

Unknown provider: secondFilterFilterProvider

如果需要,我可以写完整的错误信息。等待任何帮助,谢谢!

这是因为过滤器返回的函数只接受参数中的输入来传递其他参数,所以可以执行以下操作:

 angular.module('myModule')
        .filter('secondFilter', function (firstParam, secondParam) {
            return function (input) {
                return input;
            }
        });

你可以在代码中这样称呼它:

<tr ng-repeat="someObject in someObjects | filter:secondFilter(firstParam, secondParam)"></tr>