Javascript 在ng repeat上使用自定义筛选器导致ng类偶数/奇数不起作用

Javascript 在ng repeat上使用自定义筛选器导致ng类偶数/奇数不起作用,javascript,angularjs,Javascript,Angularjs,我有一个简单的ng重复,应用了几个过滤器。现在,我为偶数结果添加了一个ng类偶数类,当应用过滤器时,在运行过滤器之前,这些类似乎与原始索引保持一致。这将使行处于奇数位置,类为“偶数” HTML <div data-ng-repeat="location in locations | topBranchFilter:topLocations | cityFilter:searchCity | filter:search" data-ng-class-even="'even'"> .

我有一个简单的ng重复,应用了几个过滤器。现在,我为偶数结果添加了一个ng类偶数类,当应用过滤器时,在运行过滤器之前,这些类似乎与原始索引保持一致。这将使行处于奇数位置,类为“偶数”

HTML

<div data-ng-repeat="location in locations | topBranchFilter:topLocations | cityFilter:searchCity | filter:search" data-ng-class-even="'even'">
  ...
</div>

我想我的问题是,
ng类是否不受自定义筛选器或多个筛选器的支持?

如果在ng repeat中添加“track by$index”,它应该可以解决此问题

<div data-ng-repeat="location in locations | topBranchFilter:topLocations | cityFilter:searchCity | filter:search track by $index" data-ng-class-even="'even'">


可以复制:(在过滤器中键入“4”)-似乎是一个bug。您现在可以使用CSS'
:第n个子(偶数)
选择器来执行样式库。在Github上看到很久以前的一个已关闭问题,所以假设它是我的代码。@Florian Orben,如果您添加track by:OP,您的plunkr也可以工作,请查看这是否也为您修复了它。在ng repeat语句的末尾添加“track by$index”。@aet没错。不知道为什么我没有看到寻找答案的过程。添加作为答案,我会将其标记为已接受。谢谢
<div data-ng-repeat="location in locations | topBranchFilter:topLocations | cityFilter:searchCity | filter:search track by $index" data-ng-class-even="'even'">