Angular 5: ERROR Error: Uncaught (in promise): Error: Cannot assign to a reference or variable
Angular 5: ERROR Error: Uncaught (in promise): Error: Cannot assign to a reference or variable
我在 Angular 5 在 table 中添加 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>
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>
我在 Angular 5 在 table 中添加 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>
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>