Как получить ссылку на элемент в angular 8 - PullRequest
0 голосов
/ 02 февраля 2020

Попытка получить имя ссылки на элемент, но не работает. Если кто-нибудь знает, пожалуйста, помогите найти решение.

предупреждение должно быть похоже на контейнер. Потому что это ссылка на элемент.

app.component . html:

<div (click)="test(event)" #container></div>

app.component.ts:

test(e){
   alert(e.elementRef);
   //Output should be like alert("container");
}

1 Ответ

2 голосов
/ 02 февраля 2020

Как писал Камил Августиняк , используйте $event вместо event в элементе div.

<div (click)="test($event)" #container></div>

Метод test в вашем компоненте класс будет вызываться с MouseEvent, и вы можете получить ссылку на элемент HTML из его свойства target, srcElement или currentTarget (зависит от браузера).

test(event: MouseEvent): void {
   const htmlElement = event.target || event.srcElement || event.currentTarget;;
   ...
}

Обратите внимание, однако, что #container в вашем элементе div является справочной переменной шаблона Angular, которая обычно используется вместе с декоратором @ViewChild.

...