2017-09-04 46 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}}]" >