gpt4 book ai didi

Angular 7 滚动事件不会触发

转载 作者:太空狗 更新时间:2023-10-29 17:30:29 25 4
gpt4 key购买 nike

用于在我的 Angular 应用程序的 MatDialog 组件中实现 spy 导航栏。我使用

实现了一个指令来监视滚动事件
@HostListener('window:scroll', ['$event'])

我还尝试将 'scroll' 作为事件名称。但是这个事件似乎并没有发生。我尝试了几种方法,e。 G。通过直接在对话框组件中使用 HostListener,通过使用 JavaScript window.onscroll() 函数和 rxjs fromEvent() 函数但没有成功。

尝试其他 css 事件(例如 window:click)工作正常。我还在“正常”组件中尝试过它,该组件未显示为对话框,但事件也未在那里触发。

这种行为的原因可能是什么?

最佳答案

这是一个替代方案 solution效果很好。

简而言之:

ngOnInit() {
// Add an event listener to window
// Window can be defined in the pollyfiles.ts as:
// if (window) {
// (window as any).global = window;
// }
window.addEventListener('scroll', this.scroll, true); //third parameter
}

ngOnDestroy() {
window.removeEventListener('scroll', this.scroll, true);
}

scroll = (event: any): void => {
// Here scroll is a variable holding the anonymous function
// this allows scroll to be assigned to the event during onInit
// and removed onDestroy
// To see what changed:
const number = event.srcElement.scrollTop;
console.log(event);
console.log('I am scrolling ' + number);
};

关于Angular 7 滚动事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53188426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com