我正在开发一个 Angular2 项目,其中我想为各种功能合并快捷键。
我对两种方法感到困惑。一种是使用 HostListener 创建快捷方式,如下所示:
@HostListener('document:keydown', ['$event'])
handleHotkey(event: KeyboardEvent){
...
}
另一种方法是使用Mousetrap JS 框架,然后围绕它创建一个服务,该服务是为我的项目定制的,就像在angular2-hotkeys中所做的那样。
根据我的一些使用 Mousetrap 而不是 Hostlistener 的优点 -
- 添加/删除/暂停/取消暂停快捷方式的常用服务。
- 从配置文件中读取热键。
- 易于编码和维护。
对于 angular2 来说,这将是一个更好的方法。
我特别担心性能下降。