Вам нужна общая служба.
1) создайте data.service.ts (простая служба)
2) в этой службе, определите переменную как BehaviorSubject
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
@Injectable()
export class DataService {
private messageSource = new BehaviorSubject('default message');
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(message: string) {
this.messageSource.next(message)
}
}
3) добавьте эту услугу в качестве поставщика в модуль, общий для двух компонентов (app.module.ts)
4), теперь вы можете установить переменную sared service в таких компонентах, как
this.service.changeMessage(newData);
и вы можете подписаться на значение currentMessage, чтобы получить значение, например
this.service.currentMessage.subscribe(serviceValue => this.componentMessage = serviceValue );
Значение переменной из службы будет одинаковым для всех компонентов.