Угловая 5: ошибка: ошибка (в обещании): ошибка: невозможно присвоить ссылку или переменную
Я обнаружил ошибку в 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>
2 ответа
Решение
let template создает локальную переменную, а 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>