如何在 angular 中使用 fromEvent 和 mat-datepicker
How to use fromEvent in angular with mat-datepicker
我需要从 material 日期选择器获取事件并调用方法 stopPropagation。如何使用 fromEvent 实现此目的?
这是我试过的代码示例。我正在使用文档,但我需要将 fromEventSource 更改为 datepicker
fromEvent<KeyboardEvent>(document, 'keydown').pipe(
filter((event) => event.key === 'Escape'),
).subscribe(e => e.stopPropagation());
我可以在哪里使用它?目前我在 ngOnInit 中使用它,如果我添加 console.log
我可以看到文档事件
如果我理解正确并且您想在 DOM 中全局收听此事件,我认为最好的方法是使用 HostListener 而不是
"Angular 在宿主元素发出指定事件时调用提供的处理程序方法,并使用结果更新绑定元素。"
这是我停止传播 Esc 的建议:
@HostListener('document:keydown', ['$event'])
handleKeyboardEvent(event: any) {
if (event?.keyCode === 27) { //ESCAPE KEY
event.stopPropagation()
}
}
我需要从 material 日期选择器获取事件并调用方法 stopPropagation。如何使用 fromEvent 实现此目的?
这是我试过的代码示例。我正在使用文档,但我需要将 fromEventSource 更改为 datepicker
fromEvent<KeyboardEvent>(document, 'keydown').pipe(
filter((event) => event.key === 'Escape'),
).subscribe(e => e.stopPropagation());
我可以在哪里使用它?目前我在 ngOnInit 中使用它,如果我添加 console.log
我可以看到文档事件如果我理解正确并且您想在 DOM 中全局收听此事件,我认为最好的方法是使用 HostListener 而不是
"Angular 在宿主元素发出指定事件时调用提供的处理程序方法,并使用结果更新绑定元素。"
这是我停止传播 Esc 的建议:
@HostListener('document:keydown', ['$event'])
handleKeyboardEvent(event: any) {
if (event?.keyCode === 27) { //ESCAPE KEY
event.stopPropagation()
}
}