将过滤器数组传递给指令

Pass array of filters to a directive

我需要做一些与此类似的事情,我想从指令中的 ng-repeat 中的值确定 class:

<div ng-repeat="value in data">
  <div class="value | classFilters[$index]">
  </div>
</div>

该指令必须能够支持针对不同数据的不同过滤器。所以我想我想为数据中的每个值传递一个过滤器。

我可以制作这样的过滤器数组:

this.$scope.classFilters = [
  this.$filter('filter1'),
  this.$filter('filter2'),
  this.$filter('filter3')
];

并将其传递给指令。但是后来我收到 "Unknown provider: classFiltersFilterProvider" 的注入器错误。

有人有固定的解决方案或替代解决方案的想法吗?

将过滤器用作函数。

<div ng-repeat="value in data">
  <div ng-class="classFilters[$index](value)">
  </div>
</div>