Angular2无限滚动指令问题

问题描述 投票:1回答:1

我使用下面的无限滚动指令:

https://github.com/orizens/angular2-infinite-scroll

但问题是当我在一个页面上使用此指令时,如果我离开该页面,滚动事件仍然会被触发,可能是因为scroller.ts文件中的下面一行:

return this.container.addEventListener('scroll', this.handler.bind(this));

当我们离开页面时,会添加此事件侦听器但不会将其删除。

当我们切换到另一个页面时,有什么线索,如何自动处理它?

angular angular2-routing angular2-template angular2-directives
1个回答
1
投票

要么以声明方式添加事件处理程序

<div class="container" (scroll)="handler($event)"></div>

或者你用

ngOnDestroy() {
  this.container.removeEventListener('scroll', this.handler);
}
© www.soinside.com 2019 - 2024. All rights reserved.