我有以下(简化)模板:
Supplier
我也尝试过:<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>
绑定到input元素,那么值是正确的。
答案 0 :(得分:2)
我没有正确设置输入元素上的name
字段,这显然导致了这一点。
答案 1 :(得分:0)
不要试图像这样绑定:
value="{{ input.event.value }}"
Angular2中的正确方法:
[value]="input.event.value"
试试这个:
<input *ngSwitchCase="'java.lang.String'" type="text" [value]="input.event.value">