В моем 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](https://i.stack.imgur.com/ogFsT.png)