我的申请有问题。我必须使用ngValue ngModel编写几个选择。问题是,当一个人改变时,其他人选择改变相同的值 - 为什么?
<select placeholder="Contrat" name="contrat" [(ngModel)]="contrat" class="form-control">
<option [ngValue]="contrat" *ngFor="let contrat of contrats"> {{contrat.id}}</option>
</select>
<select placeholder="Contrat" name="contrat" [(ngModel)]="contrat" class="form-control">
<option [ngValue]="contrat" *ngFor="let contrat of contrats"> {{contrat.id}}</option>
</select>
<select placeholder="Contrat" name="contrat" [(ngModel)]="contrat" class="form-control">
<option [ngValue]="contrat" *ngFor="let contrat of contrats"> {{contrat.id}}</option>
</select>
解决方案是什么?
非常感谢。
发生这种情况是因为您将相同的变量绑定到[(ngModel)]中的每个选择
您正在使用双向绑定,因此一个选择中的任何更改都将更改该变量。 Angular会检测到这一点并更新其他绑定。
在您的情况下,您对所有三个选择框都具有相同的[(ngModel)]
,因此当您从选择框中选择一个值时,它会反映另一个值。
所以你必须使用不同的ngModel
作为三个选择标签