当元素在对象中重复时,ng-repeat不起作用

时间:2015-04-18 16:35:53

标签: javascript angularjs

这是我的HTML

<div ng-app="person" ng-controller="names">
<div ng-repeat="id in ids">
{{id}}
</div>
</div>

这是我的剧本

var persons=angular.module("person",[]);
persons.controller("names",function($scope){
$scope.ids=['vicky','a','c','svicky'];
});

这可以正常工作working fiddle

但是当我将最后一个元素从'svicky'更改为'vicky'时它无法正常工作

fiddle which is not working

为什么会这样?

1 个答案:

答案 0 :(得分:6)

按控制台告诉您的$ index使用track。 Fiddle

<div ng-app="person" ng-controller="names">
<div ng-repeat="id in ids track by $index">
{{id}}
</div>
</div>

这是您在控制台中应该看到的错误:

  

错误:[ngRepeat:dupes]不允许在转发器中重复。使用   '追踪'