У меня есть следующий (упрощенный) шаблон:Угловой 2: ngfor с ngmodel получает неверное значение
<div *ngFor="let input of inputs; let in=index">
value: {{inputs[in].event.value}}
<div [ngSwitch]="input.event.type">
<input *ngSwitchCase="'java.lang.String'" type="text" [(ngModel)]="inputs[in].event.value">
</div>
Я также попытался: [(ngModel)]="input.event.value"
.
Значение, установленное на входе является последней переменной итератора на всех входах, оказываемых, хотя значение правильно, что-то вроде:
value: first value
<select value="first value"></select>
value: second value
<select value="first value"></select>
value: third value
<select value="first value"></select>
Если я связываю с входным элементом со значением: value="{{ input.event.value }}"
, то значение будет правильным.
У меня была аналогичная проблема [в моем случае] (http://stackoverflow.com/questions/41265761/using-ngfor-with-ngmodel-dynamic-data-wrong-behaviour) И данный ответ решил эту проблему - добавьте ' [ngModelOptions] = "{standalone: true}" ' –