如何在Typescript中使用ngModel从HTML集中获取价值

时间:2019-05-13 05:04:46

标签: javascript html angular typescript material

我了解这可能是一个重复的问题。 我有一个输入框,在其中使用ngModel设置值。 现在,我想获取该值并使用打字稿进行存储。 有人可以帮我怎么做。 HTML代码:

 <mat-label> City:
    <input class="editcustomer" [(ngModel)]="element.city" />
 </mat-label>

我使用getElementbyId还是还有其他方法?

2 个答案:

答案 0 :(得分:2)

您可以尝试这样

HTML

<input type="text" [ngModel]="element.city" (ngModelChange)="myFunction($event)">

TS

myFunction(event: any): any {
console.log(event); // here you are getting the value
}

但是我建议您实施模板驱动形式或反应形式 在这里您可以找到有关该信息的更多信息 Reactive Fromtemplate driven from

您正在使用反应形式,因此这种方式更好

TS

  this.myForm = new FormGroup({
    firstName: new FormControl(''),
    lastName: new FormControl(''),
  });

HTML

<form [formGroup]="myForm"  (ngSubmit)="onSubmit()">
 <input type="text" formControlName="firstName">
 <input type="text" formControlName="lastName">
</form>

TS

onSubmit() {
  console.log(this.myForm); // here you will get all the values
}

答案 1 :(得分:0)

当前代码没有任何问题,因为您已经将元素对象与[(ngModel)]属性绑定在一起,因此无需调用ngModelChange()方法。您可以在TS代码中的任何位置使用this.element来获取具有最新值的对象。

Working Demo