Вы хотите отобразить число, относящееся к текущему индексу внутри *ngFor
. В настоящее время вы пытаетесь увеличить свойство уровня компонента на каждой итерации l oop.
. В текущем подходе есть 2 проблемы:
- Должны быть прочитаны выражения интерполяции -only
- Вы пытаетесь использовать свойство уровня компонента, которое отличается для каждого элемента массива. Каждый раз, когда вы увеличиваете значение свойства, все HTML, связанные с этим свойством, будут отображать обновленное значение.
Я бы подошел к этому на основе модели. Создайте вложенный массив идентификаторов шаблонов, который соответствует структуре вашего существующего вложенного массива.
Вы не дали никакого кода [править - на момент написания], поэтому я собираюсь использовать вложенный массив строк и создайте соответствующий вложенный массив `templateIds
component.ts
templates: string[][];
templateIds: number[][];
ngOnInit() {
this.templates = [
[ 'a', 'b', 'c' ],
[ 'd' ],
[ 'e', 'f' ],
[ 'g', 'h', 'i' ]
];
this.templateIds = [];
let templateId = 0;
this.templates.forEach((x, i) => {
this.templateIds.push(x.map(x => templateId++));
});
}
Затем вы можете использовать индекс из *ngFor
для доступа к templateIds
* https://stackblitz.com/edit/angular-yc6zvh