如何在 ng-repeat 的多参数过滤器中实现循环?

How to implement a loop in a multi parameters filter in a ng-repeat?

我想在过滤器参数中做一个循环

嗨,
我正在做一个多重过滤器 table。每列作为输入以添加要过滤的字符串。
对于每一列,我在过滤器函数中使用过滤器输入调用参数名称:paramN: filter[n]
有没有办法在其中做一个循环,这样我就不必一个一个地写每个参数了?
我在一个数组中拥有我需要的一切,但我不知道如何(如果可能的话)在过滤器中调用它。
我应该使用自定义过滤器吗?如果是这样,语法是什么,它会减慢这个过程吗?

这里是我的过滤器代码:

<tr ng-repeat="folder in listFolders|
    filter:{param1:filter[1],
            param2:filter[2],
            param3:filter[3],
            ...
            paramN: filter[n]
            } as listVisible
">

这是我的数组:

$scope.parametres=[
  {int:1, libelle:'name1', variable:'param1'},
  {int:2, libelle:'name2', variable:'param2'},
  {int:3, libelle:'name3', variable:'param3'},
  ...
  {int:n, libelle:'nameN', variable:'paramN'}
]

谢谢!

万一有人遇到和我一样的问题:

我在我的控制器中实现了这个功能(每次通过 ng-change 对过滤器输入进行更改时都会调用它)

$scope.filteringFunction = function(){ 
    var filtered=angular.copy($scope.listFolders);
    for(var i=0; i<$scope.parametres.length; i++){
        if($scope.filter[$scope.parametres[i].int]!==''){
            var filter =$rootScope.toNoCase($scope.filter[$scope.parametres[i].int]);
            var param = $scope.parametres[i].variable;
            filtered = filtered.filter(function (item) {
                return $rootScope.toNoCase(item[param]).includes(filter);
            });
        }
    }
    $scope.listFoldersFiltered=filtered;
};

并且我稍微更改了 ng-repeat(基本上删除了过滤器并将列表 listFolders 更改为 listFoldersFiltered

<tr ng-repeat="folder in listFoldersFiltered as listVisible">

如果有人知道其他方法,我会洗耳恭听!