Одна из распространенных задач в AngularJS — это создание списка элементов с использованием директивы ng-repeat. Обычно, ng-repeat используется для итерации по массиву объектов и отображения каждого объекта в отдельном HTML-элементе.
Например, если есть массив чисел, который выглядит так:
$scope.numbers = [1, 2, 3, 4, 5];
Можно создать список, который будет отображать каждое число в отдельном элементе списка:
<ul>
<li ng-repeat="number in numbers">{{ number }}</li>
</ul>
Но что делать, если нужно повторить некоторую операцию определенное количество раз, не имея при этом массива для итерации?
Решение проблемы
В AngularJS есть специальная директива для этого — ng-repeat
. Она позволяет повторять блок кода заданное количество раз. Для решения задачи необходимо создать массив заданной длины и использовать его в директиве ng-repeat
.
Для создания массива заданной длины можно воспользоваться методом Array.from()
, который создает новый массив на основе переданного ему объекта:
$scope.array = Array.from({length: 5}, (v, i) => i + 1);
В этом случае создается массив из пяти элементов, где каждый элемент равен его индексу плюс один.
Теперь можно использовать этот массив в директиве ng-repeat
:
<ul>
<li ng-repeat="number in array track by $index">{{ number }}</li>
</ul>
В результате получается список из пяти элементов, где каждый элемент равен его порядковому номеру.
Таким образом, даже без наличия массива для итерации можно использовать директиву ng-repeat
для повторения операции заданное количество раз.
Добавить комментарий