@HostListener('window:keydown') vs @HostListener('window:keydown.arrowup') + @HostListener('window:keydown.arrowdown')?

@HostListener('window:keydown') vs @HostListener('window:keydown.arrowup') + @HostListener('window:keydown.arrowdown')?

当我们想要监听两个键(在本例中为 arrowUp 和 arrowDown)时,哪个性能更好,每个键一个监听器,还是一个通用的?

我有时会遇到键盘输入滞后的情况,我现在的方法是缩小 @HostListener('window:keydown') 事件在代码中传播的范围,使其仅在需要时触发(而不是检查触发的键)在监听函数中被按下),但我不确定最好的解决方案。 有人可以阐明一下吗? 谢谢

PS: 我正在使用 Angular 7

@HostListener('window:keydown.arrowup',['$event']) @HostListener('window:keydown.arrowdown',['$event'])

应该表现更好,因为触发事件时要处理的代码更少。如果您在所有 keydown 事件上放置一个侦听器并手动过滤,将会有更多任务。