【发布时间】:2017-12-05 13:18:22
【问题描述】:
我有两个组件 - 父组件和子组件。 我已将主机侦听器附加到两个组件以检测关键事件。 我想检测两个组件中的空格键事件。如果用户在子组件文本字段中按下空格键,那么我希望父组件什么都不做。但是,如果用户不在子组件文本字段中并按空格键,那么我希望父组件触发一个功能。
export class ParentComponent {
constructor() { }
@HostListener('window:keyup', ['$event'])
keyEvent(event: KeyboardEvent) {
console.log("PARENT", event.keyCode);
}
}
export class ChildComponent {
constructor() { }
@HostListener('window:keyup', ['$event'])
keyEvent(event: KeyboardEvent) {
console.log("CHILD", event.keyCode);
}
}
这里的事件被捕获,但按特定顺序 - 首先是 PARENT,然后是 CHILD。我希望这些事件是什么 - 首先由 CHILD 捕获,以便我可以决定在父组件中做什么或可以停止事件传播。
【问题讨论】:
-
不确定这是否相关 - github.com/angular/angular/issues/11200
-
为什么不能使用keyup事件监听? ?
-
@Woot,我需要一个窗口监听器来监听关键事件。
标签: angular