我有两个角度组件,需要通过单击将一个对象从一个组件传递到另一个组件。我的第一个组件具有以下内容
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();
}
我的第二个组件具有以下代码来接收事件数据。
this.eventsService.eventDetailSubject.subscribe(event => {
this.eventCal = event
this.isLoading = false
}, error2 => {
this.isLoading = false
this.hasError = true
})
但是,我注意到我无法在第二个组件中接收事件数据。我在这里想念什么?有没有其他方法可以将此事件对象从一个组件传递到另一个组件,而第二个组件不是第一个组件的子组件?