У меня есть BehaviorSubject, который используется как наблюдаемая:
testForStack$: Observable<boolean>;
ngOnInit(){
const bs = new BehaviorSubject(true);
this.testForStack$ = bs
.asObservable()
.do(t => console.log('subscribed'))
.share();
}
Эта наблюдаемая проходит через три асинхронных канала в шаблоне:
Sub1: {{testForStack$ | async}}<br>
Sub2: {{testForStack$ | async}}<br>
Sub3: {{testForStack$ | async}}
Проблема только впервое (Sub1) получает значение true
Sub1: true
Sub2:
Sub3:
Если я удаляю .share (), все три значения получают значение true, но это вызывает проблему нескольких подписок.
Любые мысли о том, почему использование BehaviorSubject вызывает такое поведение?Он используется в качестве наблюдаемой, поэтому я предполагаю, что приведенный выше код будет работать правильно.
Это также похоже на этот ответ:
https://stackoverflow.com/a/40819423/4912604