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