我正在使用以下无限滚动指令:
https://github.com/orizens/angular2-infinite-scroll
但问题是当我在一个页面上使用此指令时,如果我离开该页面,滚动的事件仍然会被触发,可能是因为scroller.ts文件中的下面一行:
return this.container.addEventListener('scroll', this.handler.bind(this));
当我们离开页面时,会添加此事件侦听器但不会将其删除。
任何线索,当我们切换到另一页时,如何自动处理?
答案 0 :(得分:1)
要么以声明方式添加事件处理程序
<div class="container" (scroll)="handler($event)"></div>
或您使用
ngOnDestroy() {
this.container.removeEventListener('scroll', this.handler);
}