这是我的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' 时它不起作用
为什么会这样?
最佳答案
按照控制台告诉您的方式使用 $index 跟踪。 Fiddle
<div ng-app="person" ng-controller="names">
<div ng-repeat="id in ids track by $index">
{{id}}
</div>
</div>
这是您应该在控制台中看到您的非工作示例的错误:
Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by'
关于javascript - 当元素在对象中重复时 ng-repeat 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29719976/