У меня есть следующий сервис:
export class TestService {
constructor() { }
private _schema = new BehaviorSubject("User");
currentSchema = this._schema.asObservable();
setSchema(schema: string) {
this._schema.next(schema);
}
}
Когда я подписываюсь на наблюдаемое и меняю значение после подписки, все работает нормально, но когда я подписываюсь в другом компоненте ПОСЛЕ изменения значения, я получить начальное значение intead нового заданного значения.
Так что, когда я подписываюсь на наблюдаемое в ngOnInit()
и устанавливаю следующее значение в том же компоненте, это работает. Но я хочу получить это следующее значение в другом компоненте, который создается позже.
Я использую службу следующим образом:
ngOnInit() {
this.testService.currentSchema.subscribe(x => {
console.log('DETAIL >> ' + x);
});
}
Я понятия не имею, почему это происходит, так как смысл BehaviorSubjects получает значение даже после подписки.