我有一系列任务,其中有两个重复的部门,但我不想在ng-repeat中显示第二个重复记录,但仅针对我要显示的第一个记录,即使它是重复的。 这是我的代码,谁能告诉我哪里出错了。
<tr ng-repeat="t in item.requisitionTask track by t.id">
<td>
<div ng-hide="!$first ? item.requisitionTask[$index-1].department.departmentCode==$index.department.departmentCode : false">
{{t.department.departmentName}}</div>
</td>
答案 0 :(得分:1)
如果上一项包含与当前项目相同的departmentCode
,我怀疑您要隐藏数据。正如我的评论中所提到的,您应该将此逻辑移动到控制器范围内的函数中。
<tr ng-repeat="t in item.requisitionTask track by t.id">
<td>
<div ng-hide="isNotFirstOrSameCodeAsPrevious($index)">
{{t.department.departmentName}}
</div>
</td>
</tr>
在您的控制器中:
function isNotFirstOrSameCodeAsPrevious($index) {
if ($index === 0) return false;
return item.requisitionTask[$index - 1].department.departmentCode ===
item.requisitionTask[$index].department.departmentCode;
}
答案 1 :(得分:0)
特别是通过定位数据来解决这个问题。
<td><div ng-hide="!$first ? item.requisitionTask[$index-1].department.departmentCode==item.requisitionTask[$index].department.departmentCode : false">