aboutsummaryrefslogtreecommitdiffstats
path: root/docs/content/error/ngRepeat/dupes.ngdoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/content/error/ngRepeat/dupes.ngdoc')
-rw-r--r--docs/content/error/ngRepeat/dupes.ngdoc20
1 files changed, 19 insertions, 1 deletions
diff --git a/docs/content/error/ngRepeat/dupes.ngdoc b/docs/content/error/ngRepeat/dupes.ngdoc
index eb25ec67..42d4c77a 100644
--- a/docs/content/error/ngRepeat/dupes.ngdoc
+++ b/docs/content/error/ngRepeat/dupes.ngdoc
@@ -1,4 +1,22 @@
@ngdoc error
@name ngRepeat:dupes
-@fullName Duplicate Repeater Key
+@fullName Duplicate Key in Repeater
@description
+
+Occurs if there are duplicate keys in an {@link api/ng.directive:ngRepeat ngRepeat} expression. Duplicate keys are banned because AngularJS uses keys to associate DOM nodes with items.
+
+By default, collections are keyed by reference which is desirable for most common models but can be problematic for primitive types that are interned (share references).
+
+For example the issue can be triggered by this *invalid* code:
+
+```
+<div ng-repeat="value in [4, 4]"></div>
+```
+
+To resolve this error either ensure that the items in the collection have unique identity of use the `track by` syntax to specify how to track the association between models and DOM.
+
+To resolve the example above can be resolved by using `track by $index`, which will cause the items to be keyed by their position in the array instead of their value:
+
+```
+<div ng-repeat="value in [4, 4] track by $index"></div>
+```