我有一个具有“Category”属性的对象数组。在我的ng-repeat中,我通过有条件地显示带有类别名称的标题行来创建一个组,如果它与前一个值不同,则使用items[$index - 1]
来检查前一个值。这可行,但如果我应用orderBy过滤器,似乎$ index不反映新订单。我做错了什么?
答案 0 :(得分:5)
一发布这篇文章,我意识到可能会解决这个问题。我添加了track by item.itemId
,它开始按预期运行。
<div class="row" ng-repeat="item in items track by item.itemId | filter: searchTerms | orderBy:['Category1', 'Category2']">
<div class="rowHeader" ng-show="$index == 0 || item.Category1 != items[$index -1].Category1">
{{item.Category1}}
</div>
</div>