处理 Aurelia 应用中的 window.keyPress 事件

Handle window.keyPress event in Aurelia app

我想知道是否有人可以提供任何关于我如何挂接到 Aurelia 应用程序中的 window.keyPress() 事件的见解。我希望捕获条形码扫描仪输入,并根据扫描值将扫描的文本定向到适当的输入中。

我尝试将 window.addEventListener("keypress", HandleKeyInput, false) 放入我的视图模型的 activate() 中,但应用程序路由器出现此错误 "HandleKeyInput is not defined" 即使我的视图模型中有此功能。

我想知道关于 Aurelia 的这种情况的正确方法是什么。

举个例子:https://gist.run?id=f7837c986c38adeac5a58b8007c28b2a

export class App {
  activate() {
    window.addEventListener('keypress', this.handleKeyInput, false);
  }

  deactivate() {
   window.removeEventListener('keypress', this.handleKeyInput);
  }

  handleKeyInput = (event) => {
    console.log(event);
  }
}

一些不错的阅读: