如何在ng-repeat中防止重复的Angular键?

How do I prevent duplicate Angular keys in ng-repeat?

本文关键字:Angular ng-repeat      更新时间:2023-09-26

在NG-Grid中遇到重复键的问题。搜索Tim,然后单击gridOptions1中的某个网格列,查看gridOptions2中的重复列。什么好主意吗?

这是plnkr

$scope.gridColumnDefs2 = [
 {displayName:'Phone', cellTemplate: 
 '<div data-ng-repeat="(key, ngClickResult) in ngClickResults track by $index">{{ngClickResult.phone}}</div>'},  

我喜欢用track by来解决这个问题,除非有一些原因你不应该,试试track by $index -这通常会奏效!

<div data-ng-repeat="(key, ngClickResult) in ngClickResults track by $index">

或者如果你真的想从数据中删除项目,你可以过滤,就像这里的答案一样——AngularJs在ng-repeat

中删除重复元素

尽管如果你使用第二种方法,除非你真的卡住了,我建议你在数据到达重复之前尝试修改数据——如果你有权限的话,可能在服务器上。

Angular提供了unique过滤器:

<div ng-repeat="item in result | unique:'_id'">
    //Body here
</div>