Angular2 - 输入值未定义

ALS*_*TRA 1 typescript angular-ngmodel angular-material angular

我想通过单击Button将Input-Value传递给函数.

<md-card> 
     <md-input-container><input mdInput ngDefaultControl [ngModel]="newInput">
     </md-input-container> 
     <button md-raised-button (click)="newInputValue(newInput)">Update</button>
</md-card>
Run Code Online (Sandbox Code Playgroud)

但是函数newInputValue(..)newInput的值总是未定义的.

Ara*_*ind 5

在下面的链接中,您正在使用属性绑定(单向),因此您无法访问DOM中的变量

 <md-input-container><input mdInput ngDefaultControl [ngModel]="newInput">
Run Code Online (Sandbox Code Playgroud)

更改[ngModel][(ngModel)]

或者,

 <div class="button-row">
  <md-input-container><input mdInput #inputVal [ngModel]="newInput">
     </md-input-container> 
     <button md-raised-button (click)="newInputValue(inputVal.value)">Update</button>
  </div>
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,您将获得方法中的值,因此您的单向数据绑定保持不变

第二个选项的现场演示