Angular2无限滚动指令问题

Angular2无限滚动指令问题,angular,angular2-routing,angular2-template,angular2-directives,Angular,Angular2 Routing,Angular2 Template,Angular2 Directives,我正在使用以下无限滚动指令: 但问题是,当我在一个页面上使用此指令时,如果我离开该页面,则仍然会触发scroller事件,可能是因为scroller.ts文件中的以下行: return this.container.addEventListener('scroll', this.handler.bind(this)); 当我们离开页面时,会添加但不会删除此事件侦听器 当我们切换到另一个页面时,有什么线索,如何自动处理它吗?或者以声明方式添加事件处理程序 <div class="cont

我正在使用以下无限滚动指令:

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

return this.container.addEventListener('scroll', this.handler.bind(this));
当我们离开页面时,会添加但不会删除此事件侦听器


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

或者以声明方式添加事件处理程序

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

非常感谢你的回复。Ngondestory事件似乎没有被触发,它对指令也起作用吗?我正在使用RC1@NaveedAhmed您的类是否实现了OnDestroy?是的,从'@angular/core'导入{指令,ElementRef,输入,输出,EventEmitter,OnDestroy};导出类InfiniteScroll实现OnDestroy{///其他代码….ngondstroy(){console.log(“调用了ngondstroy”);this.container.removeEventListener('scroll',this.handler);}
ngOnDestroy() {
  this.container.removeEventListener('scroll', this.handler);
}