将过滤器数组传递给指令

时间:2015-02-23 14:39:39

标签: angularjs angularjs-directive angularjs-filter

我需要做类似的事情,我想从一个指令中的ng-repeat内的值中确定一个类:

<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')
];

并将其传递给指令。但后来我得到了一个“未知提供者:classFiltersFilterProvider”的注入器错误。

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

1 个答案:

答案 0 :(得分:2)

将过滤器用作功能。

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