angular4中如何监听scroll事件

 this.renderer2.listen('window', 'scroll', () => {
            console.log('scroll');
        });

如题,在4.0版本的时候,该代码是能正常运行的,但是不知道是因为更新到了4.5还是别的代码造成的原因,现在这个代码失效了,但尝试了监听click事件是可以正常运行的

所以想问一下各位大佬,上述代码中是正确的监听scroll的方式,或者怎样修改才能正常使用scroll的监听功能

阅读 10.9k
1 个回答

不是很清楚 this.renderer2 是个什么,能想到的两种绑定方式是:

  1. 使用 (scroll) 指令
  2. 使用 HostListener
<div class="parent" (scroll)="test($event)" onScroll>
  <div class="child"></div>
</div>
public test($event) {
    console.log('通过(scroll)指令监听');
}
@Directive({
    selector: '[onScroll]',
})
export class OnScrollDirective {
    @HostListener('scroll', ['$event']) public onscroll = ($event) => {
        console.log('通过HostListener监听');
    }
}

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进