Вывод порядковых номеров массива
Вроде бы простой вопрос - вывод порядкового номера элементов массива в Angular. Делаю так, но получаю ошибку:
<li *ngFor="let i of this.countStr">
{{i}}
</li>
Тип 'number' не может быть присвоен типу 'NgIterable <any>
| null | неопределенный'
i у меня типа number, объявлена в файле .ts: i: number = 0;
Если тип number указать вместо var - тоже не катит.
Может для кого-то это не есть проблемой, но всё-же просьба
помочь, т.к. с Angular только начал разбираться.
Ответы (1 шт):
Автор решения: Sergey Glazirin
→ Ссылка
Ваша проблема связана с тем, чтобы вы пытаетесь передать не массив, а число.
Для того, чтобы ваш пример заработал нормально, нужно, чтобы countStr был массивом, а не числом.
Текст ошибки говорит, что число не может быть итерируемым типом. То есть по нему нельзя пройти циклом.
Type 'number' is not assignable to type 'NgIterable<any>'.
В Angular нет built-in директивы, которая может выводить данные в цикле по числу.
<li *ngFor="let number of 5">{{number}}</li> // здесь будет ошибка
<li *ngFor="let number of [0,1,2,3,4]">{{number}}</li> // должно быть так
Если у вас массив объектов и их номер не указан в качестве поля объекта, то можно использовать index для вывода.
<li *ngFor="let item of items; index as i">{{i}}</li>
Подробнее можно почитать в документации