Поскольку между этими двумя компонентами нет никакой связи, вы можете передавать данные между ними с помощью общей службы.
Я бы создал BehaviorSubject<boolean>
в общем сервисе. Затем я вызову для него метод next
и передам его true
, когда я установлю для form
значение pristine
. Я также subscribe
к этому BehaviorSubject
в другом компоненте. Как только метод next
будет вызван, я смогу получить уведомление об этом в другом компоненте.
В службе общего пользования:
formPristinenessChanged: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(null);
В компоненте с формой:
export class AwayConfirmCheckComponent implements OnInit {
constructor(private service: SharedService) {}
......
onSubmit() {
this.awayForm.markAsPristine();
this.service.formPristinenessChanged.next(true);
}
}
В других компонентах:
constructor(private service: SharedService) {}
this.service.formPristinenessChanged.subscribe(pristine => {
if(pristine) // formWasSetToPristine
});