@HostListener键盘命令不起作用[电子,角度]



我对Electron和Angular很陌生,正在尝试编写一个小应用程序。在我的应用程序中,我想捕获一些通用键盘命令。为了捕获事件,我写了一个指令,但无论我做什么,应用程序都不会对任何用户输入做出反应。这可能是角度和电子的使用问题,还是我在使用角度时犯了一个简单的错误?

  • 指令在应用模块中声明
  • 指令附加到特定组件(简单的单页(
import {Directive, HostListener} from '@angular/core';

@Directive({
selector: '[appUserinputControl]'
})
export class UserinputControlDirective {
@HostListener('document:keydown', ['$event']) onKeyDown(res) {
console.log('Key', res);
}
constructor() {
}
}

代码应将 keydown-events 记录到控制台,但它不执行任何操作,也不会显示任何错误。

我认为你缺少的一点是你使用了document.keydown而不是window.keydown。

@HostListener('window:keydown', ['$event'])
keyEvent(event: KeyboardEvent) {
console.log(event)
}

上面的例子应该有效。

最新更新