В вашем случае можно создать глобальный сервис и использовать его как хранилище с использованием BehaviorSubject.
@Injectable({
providedIn: ‘root’
})
export class SomeService {
private readonly _valueSubject = new BehaviorSubject(null);
public readonly value$: Observable<any> = this._valueSubject.asObservable();
public setItem(value: any): void {
this._valueSubject.next(value);
}
}
Далее инжектите его в классах где собираетесь получать/устанавливать значение. Мы через компонент просто подписываемся на Observable для получения новых значений, а внутри сервиса через метод Subject’a next() передаём новое значение. Ну можете использовать конечно же упрощенный подход без Observable/Subject.
В качестве альтернативы можете рассмотреть использование State Manager’a например NGRX, NGXS, Akita, их можно постепенно внедрять в проект.