Эта функция была добавлена в AngularJS в более новых версиях. дело в том, что в основном вы должны перебирать не некоторые примитивные типы (например, числа), а некоторые сложные объекты.
насколько я понял, директива ngRepeat
проверяет ссылки, а не фактические значения, поэтому, если вы выполняете итерацию по некоторым сложным объектам, она работает, но если вы попытаетесь сделать это для набора примитивных типов, она, скорее всего, не будет работать до тех пор, пока «все "Значения отличаются друг от друга.
ИЗМЕНИТЬ
Следующие строки скопированы и вставлены из этой ссылки (и убедитесь, что вы используете относительно современная версия AngularJS - я использую 1.1.5, и она отлично работает -)
Описание
Происходит при наличии повторяющихся ключей в выражении ngRepeat. Повторяющиеся ключи запрещены, потому что AngularJS использует ключи для связывания узлов DOM с элементами.
По умолчанию коллекции имеют ключ по ссылке, что желательно для большинства распространенных моделей, но может быть проблематичным для интернированных примитивных типов (общие ссылки).
Например, проблема может быть вызвана этим недопустимым кодом:
<div ng-repeat="value in [4, 4]">
</div>
Чтобы устранить эту ошибку, либо убедитесь, что элементы в коллекции имеют уникальный идентификатор, либо используйте отслеживание по синтаксису, чтобы указать, как отслеживать связь между моделями и DOM.
Чтобы решить приведенный выше пример, можно использовать track by $index, что приведет к тому, что элементы будут указываться по их положению в массиве, а не по их значению:
<div ng-repeat="value in [4, 4] track by $index"></div>
person
Kia Panahi Rad
schedule
08.12.2013