角2:ngfor与ngmodel得到错误的值

角2:ngfor与ngmodel得到错误的值

问题描述:

我有以下的(简化)模板:角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 }}",那么这个值是正确的。

+0

我有类似的问题[在我的情况(http://stackoverflow.com/questions/41265761/using-ngfor-with-ngmodel-dynamic-data-wrong-behaviour)并给予答复解决了这个problem-加上' [ngModelOptions] =“{standalone:true}”' –

不要试图结合这样的:

value="{{ input.event.value }}" 

正确的方式Angular2:

[value]="input.event.value" 

试试这个:

<input *ngSwitchCase="'java.lang.String'" type="text" [value]="input.event.value"> 
+0

是的,我尝试使用索引来查看它是否能正常工作,使用'[(ngModel)] =“input.event.value”>'具有相同的效果。 – mtyson

+0

您是否尝试过

+0

我需要双向绑定...我不' t认为[价值]是否这样? – mtyson

我并没有设置在该name场输入元素正确,这显然是造成这种情况。