Свойство «id» не существует для типа «EventTarget», выдаваемого при работе с event.target.id

Я пытаюсь выполнить 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...

но я не могу найти это решение...

Сделайте console.info события и проверьте, есть ли какой-либо объект target

brk 06.03.2019 16:37

Используйте (event.target as HTMLElement).id или (<HTMLElement>event.target).id.

ConnorsFan 06.03.2019 16:38
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
2
6 732
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я опубликую ответ @ConnorsFan, так как его комментарий сработал для меня.

В конце концов, я пошел с использованием (<HTMLElement>event.target).id.

Кажется, моя попытка установить event.target.id была ошибочной, поскольку теперь я понимаю, что тип должен применяться к цели, а идентификатор — это просто атрибут указанного целевого элемента.

Вы имеете в виду использование (event.target as HTMLElement).id, верно?

abumalick 30.08.2020 15:56

@abumalick Похоже, я неправильно отформатировал ответ. Теперь вы можете видеть, что я сделал то же самое, что и вы, только, может быть, не так элегантно.

physicsboy 03.09.2020 10:33

Другие вопросы по теме