Angular создает несколько подписок при маршрутизации назад и четвертый - PullRequest
0 голосов
/ 26 ноября 2018

В моем ngOnInit моего компонента я вызываю метод опроса.В моем ngOnDestroy я отписался на этот метод.Теперь, когда я снова возвращаюсь к тому же компоненту и запускаю ngOnInit, у меня теперь есть 2 подписки.Каждый раз, когда я покидаю компонент, я отписываюсь в моем ngOnDestroy.Этот шаблон продолжается, увеличивая мои подписки на единицу каждый раз, когда я посещаю рассматриваемый компонент.Как мне избавиться от этого поведения?

Пожалуйста, дайте мне знать, если бы я мог предоставить больше кода или деталей, чтобы прояснить ситуацию.Заранее спасибо!

См. Код ниже:

  // app.component.ts
   ngOnInit() {

   // init of my store, selecting the selector and subscribing to it 
this.store.select(fromStore.getAllVehicleDetails).subscribe(data => {
      this.updateVehicleStates(data);
      this.updateFavoriteVehicles();
      this.vehicleDetail = this.getVehicleDetail(this.selected);
    });

   this.store.select(fromStore.getFavVehiclesId).subscribe(data => {
      for (let i = 0; i < data.length; i++) {
         this.favVehicleIdMap.set(data[i].id, data[i]);
  }
});
   this.subscribeToData();
  }

  ngOnDestroy() {
    console.log('dead');
    this.timerSubscription.unsubscribe();
  }

  /* Poll-function */
  private subscribeToData(): void {
    this.timerSubscription = Observable.timer(0, 10000).subscribe(() => {
      this.store.dispatch(new fromStore.LoadVehicleDetails());
      this.store.dispatch(new fromStore.LoadFavVehiclesId());
    });
  }

dead

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...