2017-09-24 71 views
1

我遇到了ngModel指令的問題。我有一個input<td><input type="text" ([ngModel])="desc"></td>其中我將input的值分配給名爲desc的變量。然後在component我只是想將其打印在控制檯:ngModel在Angular 4中無法正常工作

addItem(){ 
    console.log('=======', this.desc); 
    } 

的方法addItem()html文件input以下decalred:在======= undefined

<td> 
      <i 
       class="fa fa-plus-square add-button" 
       (click)="addItem()"> 
      </i> 
    </td> 

這是我得到的回覆是事情控制檯。誰能告訴我爲什麼我得到這個?在這個程序的不同地方,我也使用ngModel和一切正常

回答

2

數據綁定運營商的語法([是錯誤的,如果你想雙重綁定正常工作,你需要記住着名的句子「香蕉一箱」,所以你需要編寫[(ngModel)這就像在一個盒子香蕉[()]。

有關信息,[是視圖控制器綁定和(爲逆。

+0

好吧,所以我改變了一點,現在看起來像:'​​',並在'component'中創建了一個新對象'newItem'。有沒有辦法由於'newItem'中的字段'description'從未被創建過,所以省略'Can not read property'description'undefined'的問題? – bielas

+0

當然,但您將不得不創建一個包含newItem的所有屬性的類。假設你的類叫做Item,所以在你的控制器中,你只需要實例化該類的一個對象:'newItem:Item = new Item();' –