在我的 ngOnInit 方法中,我订阅了这样的路由器:

this.router.events.subscribe(
  event => {
    if (event instanceof NavigationEnd) this.clearMessages();
  }
);

通常情况下,观测量 HttpClient的的包装我呼吁在 ngOnDestroy 方法退订但是当我试图在这里我发现 this.router.events 没有这样的方法。我错了还是这个 Observable 有什么不同?为什么 unsubscribe 没有实现?

最佳答案



你在订阅上调用 unsubscribe,而不是 observables。 this.router.events 是可观察的,而不是订阅。因此,以下将起作用:

const subscription = this.router.events.subscribe(...);
subscription.unsubscribe();

关于angular - 对于 Angular 路由事件 Observable,为什么没有 unsubscribe()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48332797/

10-15 05:35