Я предполагаю, что вы пытаетесь захватить события из <app-map>
и <app-markers-list>
в родительском компоненте. Вы можете захватить, как мы обычно делаем, поместив привязку в родительский шаблон, как показано ниже:
<app-map (mapLoaded)="mapLoaded($event)"></app-map>
<app-markers-list (markersLoaded)="markersLoaded($event)"></app-markers-list>
Теперь вы можете управлять этими событиями в родительском компоненте. Вы можете использовать предметы или наблюдаемые и наблюдаемые операторы (combLatest, of). Пожалуйста, найдите код ниже, как вы можете его использовать.
import { combineLatest, of } from 'rxjs';
// this will be your parent component.
export class ParentComponent {
mapLoaded = new Subject()
mapLoaded$ = this.mapLoaded.asObservable();
markerListLoaded = new Subject()
markerListLoaded$ = this.markerListLoaded.asObservable();
constructor() {
const combinedValues = combineLatest(mapLoaded$, markerListLoaded$);
combinedValues.subscribe((value) => {
// Here you can write code when you receive notification from both the events.
})
}
mapLoaded(mapLoadedData) {
this.mapLoaded$.next('map loaded successfully');
}
markersLoaded(markersLoadedData) {
this.markerListLoaded$.next('markers loaded successfully');
}
}