组件的订阅代码(setInterval)仍然是 运行 所以我退出了

Subscription code (setInterval) of a component is still running so I get out of this

我有一个下标(用作 setInterval),它在名为 "coordinator-component.ts" 的组件中每 10 秒执行一次代码。在那之前一切都很好,我遇到的问题如下: 当我从一个 url 传递到另一个时,订阅仍然是 运行,这不应该发生,因为这应该只在 "coordinator-component" 的视图和组件中执行。不知道有没有存到缓存里,也不知道怎么解决。

正如我所见,您使用 Observable,当您 subscribe() 它 return 一个 Subscription 并且最佳做法是存储 Subscription到一个变量并在期间取消订阅() ngOnDestroy()

export class YourComponent implements OnDestroy, OnInit {

  yourStoredSubscription: Subscription;

  // You subscribe to it somewhere in your code for example and it return a subscription
  ngOnInit() {
     this.yourStoredSubscription = this.yourSetInterval.subscribe();   
  }
  ngOnDestroy() {
    this.yourStoredSubscription.unsubscribe();
  }
}