Я пытаюсь выполнить HostListener для своего компонента, указав, что я хочу, чтобы что-то происходило, когда НО нажимается определенный элемент; однако я получаю сообщение об ошибке:
Property 'id' does not exist on type 'EventTarget'
Код отлично работает в пользовательском интерфейсе, но я не могу избавиться от этой ошибки, вызванной линтингом.
Я понимаю, что я должен использовать тип для this, например, если бы я выполнял это для элемента ввода. Однако я выполняю проверку обычного <div>, на который нажимают...
Я не знаю, как поступить.
@HostListener('document:click', [$event'])
myClick(event: MouseClick): void {
if (event.target.id !== 'some-id') {
// do something here
}
}
Я играл с чем-то вроде:
if (<HTMLElement>event.target.id...
но я не могу найти это решение...
Используйте (event.target as HTMLElement).id или (<HTMLElement>event.target).id.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я опубликую ответ @ConnorsFan, так как его комментарий сработал для меня.
В конце концов, я пошел с использованием (<HTMLElement>event.target).id.
Кажется, моя попытка установить event.target.id была ошибочной, поскольку теперь я понимаю, что тип должен применяться к цели, а идентификатор — это просто атрибут указанного целевого элемента.
Вы имеете в виду использование (event.target as HTMLElement).id, верно?
@abumalick Похоже, я неправильно отформатировал ответ. Теперь вы можете видеть, что я сделал то же самое, что и вы, только, может быть, не так элегантно.
Сделайте console.info события и проверьте, есть ли какой-либо объект
target