需求:在angualr中,跳转页面之后,本页面的定时器无法关闭,仍在其他页面进行调用,因此使用以下监听路由的方法实现离开本页面就关闭定时器。

引入:

import { Router, NavigationStart, NavigationEnd  } from '@angular/router';
import { filter } from 'rxjs/operators';

正文:

export class NewsListPage extends ScrollbasePage implements OnInit {

  news$: Observable<any>;

  constructor(
    private routeInfo:ActivatedRoute,
    private router: Router,
  ){ }

  ngOnInit() {
    this.router.events.pipe(//监听路由代码
      filter(event => event instanceof NavigationEnd)
    ).subscribe((res: any) => {
      //在离开本页面之后要处理的事件,我的是关闭定时器,定时器相关代码就不写了
      clearInterval(this.setInterval);
    });
  }
}
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐