我有一个任务数组,其中有两个重复的部门,但我不想在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>
通过特别针对数据来解决问题。
<td><div ng-hide="!$first ? item.requisitionTask[$index-1].department.departmentCode==item.requisitionTask[$index].department.departmentCode : false">
我怀疑,如果上一个项目包含与当前项目相同的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;
}