Я обнаружил ошибку в Angular 5 при добавлении цикла for в таблицу. Я попытался найти причину, но они недостаточно ясны, и я не могу решить проблему. Мой код и ошибка следующим образом.
<tr *ngFor="let template of templates; let j=index">
<td><b>Template {{j+1}}</b></td>
<td><input class="form-control" [(ngModel)]="template"/></td>
</tr>
пусть шаблон создает локальную переменную, а ngModel не может назначать локальные переменные. Вы можете назначать свойства (поля) вашего компонента.
но вы можете попробовать в компоненте:
public templates = ['test', 'test'];
public customTrackBy(index: number, obj: any): any {
return index;
}
шаблон:
<tr *ngFor="let template of templates; let j=index ; trackBy:customTrackBy">
<td><b>Template {{j+1}}</b></td>
<td><input class="form-control" [(ngModel)]="templates[j]"/></td>
</tr>
Это должно работать:
<tr *ngFor="let template of templates; let j=index">
<td><b>Template {{j+1}}</b></td>
<td><input class="form-control" [(ngModel)]="templates[j]"/></td>
</tr>