Код подписки (setInterval) компонента все еще работает, поэтому я выхожу из этого - PullRequest
0 голосов
/ 11 июля 2019

У меня есть индекс (работает как setInterval), который выполняет код каждые 10 секунд в компоненте с именем "координатор-компонент.ts".До этого все нормально, проблема у меня заключается в следующем: когда я перехожу с одного URL на другой, подписка все еще работает, что не должно происходить, так как это должно выполняться только в представлении и компонентесоставная часть".Я не знаю, сохраняется ли он в кеше, но я не знаю, как решить эту проблему.

1 Ответ

1 голос
/ 11 июля 2019

Как я вижу, вы используете Observable, когда вы subscribe() возвращаете 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();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...