2017-09-04 86 views
1

我输入HTML这样的绑定:Angular2如何映射对象从@input

<input class="form-control" 
        maxlength="255" 
        placeholder="" 
        type="text" 
        [(ngModel)]="data.translations[item.key]" 
        name="translations[{{item.key}}]" 
        > 

我从包含地图obejct服务器DTO得到。 DTO的名称为,数据为,地图名称为,译文为

问题是,第一次是值设置为正确输入。但是在点击按钮后,将输入值发送到服务器的输入重置。我需要将价值留在输入框中。我认为,这种约束应该起作用。但事实并非如此。

请帮助我,我该如何解决这个问题。 [ngModelOptions] =“{标准:真正}”

+0

有一个在你的问题的代码没有按钮。按钮点击是做什么的? –

+0

如果你希望它保持不变,把'data.translations'改变,把它添加到本地组件变量并将其设置为'data.translations [item.key]'并将本地变量发送到服务器, –

+0

对不起。按钮将**数据**发送到服务器,然后重新加载此数据。我释放这个问题是在这一行:'this.form.reset(value);' 点击按钮后执行。该值是map,它不是按键设置值。 – cherioss

回答

0

我的同事与attributte解决这个 所以现在它看起来像:

<input class="form-control" 
     maxlength="255" 
     placeholder="" 
     type="text" 
     [(ngModel)]="data.translations[item.key]" 
     [ngModelOptions]="{standalone: true}" 
     name="translations[{{item.key}}]" >