Изучение наблюдаемых и угловых2. Я хочу узнать ЛУЧШИЕ практики совместного использования наблюдаемых между несколькими компонентами Angular2. Поскольку наблюдаемое значение по умолчанию НЕ является многоадресной. Таким образом, каждая подписка в другой части моего приложения откроет новый поток (снова вызовите мой сервер API!). Кроме того, мне нужно разделить ценность и получить последнюю ценность этого наблюдаемого. Я слышу людей, использующих тему поведения. Но это действительно запутывает, и я не могу найти для этого хороший пример. Вот как я подойти к этому в моем authService:Обмен наблюдаемыми между компонентами/многоадресной распечаткой, наблюдаемыми в Angular2
userInfo$: Observable<User>;
this.userInfo$ = this.authInfo$
.switchMap(authInfo => this.findUserByuid(authInfo.$uid)) // finding user info base on authInfo turn or not.
.publishReplay(1).refCount();
И в моем компоненте Angular2, я делаю это:
this.authService.userInfo$.subscribe(user => {
console.log (user);
this.user = user;
})
Все работает. Но мне интересно, могу ли я использовать субъект поведения в этом случае? Я делаю все правильно, разделив userInfo $ среди ВСЕХ моих компонентов (все мои компоненты, которые нуждаются в userinfo $, будут делать вышеуказанный код, чтобы подписаться на него)?