我对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() {
}
}
该代码应将按键事件记录到控制台,但它什么也没做,也不会出现错误。
答案 0 :(得分:0)
我认为您缺少的是您使用了document.keydown而不是window.keydown。
@HostListener('window:keydown', ['$event'])
keyEvent(event: KeyboardEvent) {
console.log(event)
}
上面的例子应该起作用。