Как получить идентификатор нажатой кнопки-кнопки вместо оболочки-кнопки? - PullRequest
0 голосов
/ 10 января 2019

Я использую материал дизайн в моем Angular7 проекте. На кнопке циновки есть событие нажатия.

  itemclick(event: Event) {
 //to know the id of clicked element,ie button
 let elementId: string = (event.target as Element).id;
 console.log(elementId);
 }

вот HTML

<button mat-button color="primary" id="test1" (click)="itemclick($event)" style="outline: none">Property1</button>

Но я не всегда получаю идентификатор, потому что (event.target) постоянно меняется случайным образом между mat-button (случай, когда id = test1) и mat-button-wrapper (случай, когда id равен нулю).

Как это решить? Заранее спасибо.

1 Ответ

0 голосов
/ 10 января 2019

Замените вашу функцию на:

HTML:

<button mat-button #test color="primary" id="test1" (click)="itemclick(test)" style="outline: none">Property1</button>

TS:

itemclick(event) {
   console.log(event._elementRef.nativeElement.id)
}

StackBlitz

...