У меня есть вкладка материала, в которой каждая вкладка содержит компонент. Мне нужно слушать события клавиатуры, такие как del, введите et c. только на текущей вкладке.
В настоящее время у меня есть HostListener внутри компонента, и он работает, посылая мне логический компонент, если он активен в то время, как это.
@HostListener('window:keydown.enter', ['$event'])
onEnterDown(event: KeyboardEvent) {
if (this.isActive) {
//some logic
}
}
Это очень удобно для моего случая использования, но проблема в том, что если у меня есть 5 вкладок (5 компонентов), каждый компонент получает вызов функции. и 4, которые неактивны, просто фини sh прямо здесь.
Это работает, но я не уверен, как это влияет на производительность, и мне также не очень нравится этот дизайн. Есть ли способ заставить слушать только текущий компонент?