Прослушивать глобальные события на выбранном компоненте только в массиве компонентов - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть вкладка материала, в которой каждая вкладка содержит компонент. Мне нужно слушать события клавиатуры, такие как del, введите et c. только на текущей вкладке.

В настоящее время у меня есть HostListener внутри компонента, и он работает, посылая мне логический компонент, если он активен в то время, как это.

@HostListener('window:keydown.enter', ['$event'])
  onEnterDown(event: KeyboardEvent) {
    if (this.isActive) {
      //some logic
    }
  }

Это очень удобно для моего случая использования, но проблема в том, что если у меня есть 5 вкладок (5 компонентов), каждый компонент получает вызов функции. и 4, которые неактивны, просто фини sh прямо здесь.

Это работает, но я не уверен, как это влияет на производительность, и мне также не очень нравится этот дизайн. Есть ли способ заставить слушать только текущий компонент?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...