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

标签 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

为什么会这样?

最佳答案

按照控制台告诉您的方式使用 $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/

相关文章:

javascript - 在 AngularJS 开头调用的指令中的 Scope.watch

javascript - Facebook Javascript SDK 开放图 : error adding custom objects for custom stories

javascript - 如何使用 jasmine 在 XHR 中模拟超时事件?

AngularJS:ng-点击 img?使用 jQuery 操作图像(类似于画廊)?

asp.net - 如何在 .NET 4 Web Forms 项目中使用 Angular 2?

javascript - 如何在不影响子元素的情况下更改div中的文本

javascript - 当javascript达到一定宽度时如何取消选中复选框?

angularjs - 无法使用 Angular Js 访问 Restful API

javascript - 如何使用相同的 HTML 通过不同的 url 呈现不同的内容?

javascript - Angular Protractor : Execute Scripts in Browser Context