#angular #rxjs
#угловой #rxjs
Вопрос:
Вот как я общаюсь между двумя несвязанными компонентами. Компонент B пытается получить доступ к myObj из компонента A. Странно, что this.myObj
это не всегда указывает на последние данные. Есть какая-нибудь причина, почему ?
component A { myService.pubSub.subscribe((data)=gt;{ if(data.type == "getMyObj"){ myService.pubSub.next(this.myObj); } }); } component B { myService.pubSub.next({type: "getMyObj"}); }
Где myService.pubSub
находится просто объект в сервисе.
Комментарии:
1. Я не понимаю.
myService.pubSub.subscribe((data)=gt;{ if(data.type == "getMyObj"){ myService.pubSub.next(this.myObj); } });
Обновляете ли вы ту же тему, когда подписываетесь на нее?2. Это просто тема в сервисе. Да, я публикуюсь на ту же тему.
3. Это будет продолжаться по кругу, не так ли? Компонент А всегда будет вызывать
next
Ответ №1:
Я получил ответ. Проблема заключалась в том, что я не отказывался от подписки на эту тему, и было несколько подписок. Поэтому, как только я отписался, это решило проблему.
sub.unsubscribe();