В моем приложении есть два дочерних компонента: patient-fields
и patient-analyser
.
patient-fields
содержит формы и кнопку отправки, в то время как patient-analyser
нужны данные из patient-field
, прежде чем он выполнит запрос POST для анализа данных пациента.
Мое текущее решение имеет EventEmitter из patient-fields
, который запускает другой объект eventEmmiter в App
. Затем я передам источник событий приложения для подписки на patient-analyser
, как показано ниже:
Patient-fields.component.ts (child1):
@Output() toggleSubmit: EventEmitter<FormData> = new EventEmitter();
onSubmit() {
this.toggleSubmit.emit(this.patientFieldForm.value);
}
Patient-analyser.component.ts (child2):
@Input() pf: EventEmitter<any>;
constructor() { }
ngOnInit() {
this.pf.subscribe((data) => {
// Performing a POST request to analyse the patient data
});
app.component.ts (родитель):
@Output() pf: EventEmitter<any> = new EventEmitter();
onSubmit(patientFields: FormData) {
this.pf.emit(patientFields);
}
app.component.html:
<app-patient-analyser
[pf] = pf
></app-patient-analyser>
<app-patient-fields
(toggleSubmit)="onSubmit($event)"
></app-patient-fields>
Есть ли лучшее решение для этого?
Спасибо, прежде чем.