使用HostListener检测键盘

时间:2017-08-28 11:54:42

标签: angular

我在angular(4.0.0)中创建了一些组件来检测带有装饰器HostListener的键盘语言(rus-eng):

NO

此方法是连接键盘消息

// detect keyboard lan
@HostListener("window:keypress", ["$event"])
public detectKeyboard(keyCode: number, mode: string): void {
    // if current lan is Rus
    if (mode === "Rus") {
        if (keyCode >= 128 && keyCode <= 255) {
            this.currentKeyboard = "Rus On";
        } else {
            this.currentKeyboard = "Eng On";
        }
    }
}

这是模板:

// interfacing keyboard message
public getKeyboard(): string {
    return this.currentKeyboard;
}

我将输出添加到另一个组件中共享:

<div *ngIf="getKeyboard()" class="alert alert-danger">
    {{currentKeyboard}}
</div>

在另一个组件的模板中,我称之为:

@Output("keyBoard") public keyBoard: EventEmitter<Object>;

和HostLitener装饰器的问题,我无法调用我的方法detectKeyboard,我不知道为什么。可能是HostListener参数有问题吗?

0 个答案:

没有答案