0

对于不同的输入,我有相同的侦听器。

当侦听器被触发时,我无法知道谁生成了事件。

<form #f="ngForm">
<mat-card-content>
  <mat-input-container>
    <input matInput [(ngModel)]="id" name="id" placeholder="ID" (ngModelChange)="inputChanged()" />
  </mat-input-container>
  <mat-input-container>
    <input matInput [(ngModel)]="name" name="name" placeholder="NAME" (ngModelChange)="inputChanged()" />
  </mat-input-container>
</mat-card-content>
</form>

//ts

inputChanged():void{
  //how to know who generates
}
4

2 回答 2

1

只需这样做:

(ngModelChange)="inputChanged('one')"

inputChanged(name: string):void{
  console.log(name);
}

并在里面加入一些逻辑inputChanged

于 2018-02-14T15:16:16.260 回答
0

你可以使用两个不同的函数,如果他们需要做同样的事情,那么他们可以稍后调用一个共享函数。

<input matInput [(ngModel)]="id" name="id" placeholder="ID" (ngModelChange)="onIdChange($event)"/>

<input matInput [(ngModel)]="name" name="name" placeholder="NAME" (ngModelChange)="onNameChange($event)" />

component.ts

onIdChange(event) {
   // some logic
}

onNameChange(event) {
   // some logic
}
于 2018-02-14T15:16:17.733 回答