【问题标题】:how to know elementRef who generates event如何知道 elementRef 谁生成事件
【发布时间】:2018-02-14 15:13:10
【问题描述】:

我对不同的输入有相同的监听器。

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

<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
}

【问题讨论】:

    标签: angular angular5 elementref


    【解决方案1】:

    就这样吧:

    (ngModelChange)="inputChanged('one')"
    
    inputChanged(name: string):void{
      console.log(name);
    }
    

    并在inputChanged中加入一些逻辑

    【讨论】:

      【解决方案2】:

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

      <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
      }
      

      【讨论】:

        猜你喜欢
        • 2017-09-17
        • 2013-02-19
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-12
        • 2017-10-03
        • 2016-04-08
        相关资源
        最近更新 更多