是否可以在特定按钮上设置HostListener?

时间:2017-05-29 12:32:51

标签: angular

我想调用一些方法,当按下 ESC ape按钮时。我是这样做的:

@HostListener('window:keydown', ['$event'])
clickEscape(event: KeyboardEvent) {
    //if ESC was pressed
    if(event.keyCode === 27) {
        this.someMethod();
    }
}

但是当用户点击keybord上的任何按钮时,每次都会调用 clickEscape 方法。我的问题是:

是否可以设置HostListener,以便只有在检测到ESCape按钮时才会调用该方法? 我正在考虑一些风格:

@HostListener('window:keydown["ESCAPE"]')
someMethod() {
    //...
}

有类似事件吗?

1 个答案:

答案 0 :(得分:2)

您确实可以使用map

keydown.escape