Я использую тему поведения, чтобы получить выбранную версию.
public messageSource = new BehaviorSubject(release);
currentMessage =this.messageSource.asObservable()
setCheckedVersion(chkVersion){
console.log(chkVersion)
this.messageSource.next(chkVersion)
}
В компоненте слайдера я устанавливаю версию по щелчку, которая используется для создания компонента слайд chart.IN
setCheckedVersion(chkVersion){
this.messageSource.next(chkVersion)
}
В компоненте диаграммы я подписываюсь на изменения
this.curMsg= this._sharedService.currentMessage.subscribe((chkVersion)=>
{this.checked_versions=chkVersion})
Все работает нормально, но когда я меняю маршрут и возвращаюсь к компоненту диаграммы, он получает подписку два раза. Для этого я отписался об этом вOnDestroy
ngOnDestroy() {
gantt.clearAll()
// this.curView.
this.curMsg.unsubscribe()
}
Но когда я снова подписываюсь, он получает два значения: самые последние данные и еще одно, выбранное до маршрутизации.Как я могу получить только самые последние данные?