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

时间:2015-07-08 13:22:31

标签: javascript angularjs angularjs-ng-repeat

NG-Grid中的重复键有问题。搜索Tim然后单击gridOptions1中的ng grid列以查看gridOptions2中的重复项。有什么想法吗?

这是plnkr

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

2 个答案:

答案 0 :(得分:2)

我喜欢使用track by来解决这个问题,除非有一些理由你不应该尝试track by $index - 这通常可以解决问题!

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

或者,如果你真的试图从你可以过滤的数据中删除这些项目,请点击此处的答案 - AngularJs Remove duplicate elements in ng-repeat

虽然如果你使用第二种方法,除非你真的陷入困境,否则我建议你尝试修改进入重复之前的数据 - 如果你有权访问它,可能在服务器上。

答案 1 :(得分:0)

Angular提供unique过滤器:

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