我对 Electron 和 Angular 还很陌生,正在尝试编写一个小应用程序。在我的应用程序中,我想捕捉一些通用的键盘命令。为了捕捉事件,我编写了一个指令,但无论我做什么,应用程序都不会对任何用户输入使用react。这可能是使用 Angular 和 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)
}
上面的例子应该可以工作。
关于angular - 用于 KeyCommands 的 @HostListener 不起作用 [Electron,Angular],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57873866/