2 つの角度コンポーネントがあり、クリックするだけで 1 つのコンポーネントから別のコンポーネントにオブジェクトを渡す必要があります。私の最初のコンポーネントには次のものがあります
showEventDetails(event: Event) {
this.eventsService.sendEventDetail(event)
}
ここで Event は私のカスタムモデルオブジェクトです:
export class Event {
id: number
title: string
description: string
url: string
date: string
}
イベント サービス ファイルは次のとおりです。
export class EventsService {
eventDetailSubject = new Subject<any>();
constructor() {
}
sendEventDetail(event: Event) {
this.eventDetailSubject.next(event);
}
getEventDetail(): Observable<Event> {
return this.eventDetailSubject.asObservable();
}
私の 2 番目のコンポーネントには、イベント データを受け取るための次のコードがあります。
this.eventsService.eventDetailSubject.subscribe(event => {
this.eventCal = event
this.isLoading = false
}, error2 => {
this.isLoading = false
this.hasError = true
})
しかし、2 番目のコンポーネントでイベント データを受信できないことに気付きました。ここで何が欠けていますか?2 番目のコンポーネントが最初のコンポーネントの子ではない場合に、あるコンポーネントから別のコンポーネントにこのイベント オブジェクトを渡す方法は他にありますか?