我正在尝试将日期发送到对话框(用于注册新事件)。
这就是我在日历中添加的方式,
calendarOptions = {
header:
{
left: 'prev,next,today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
dayClick: (function (date, jsEvent, view) {
let events$: Observable<Event[]> = this.store.select(fromAgenda.getAllEvents);
this.onDayClicked.emit(events$);
})
}
&amp;我的其他组件已经提到我在日历上的任何一天单击时,它将打开Dailog以进行事件注册,如下所示,
onDayClicked(event) {
let dialogRef = this.dialog.open(EventNewComponent, {
width: '750px'
});
dialogRef.afterClosed().subscribe(result => {
this.store.dispatch(new eventsActions.LoadAll());
});
}
&amp;它是在下面的打开对话框,
如何在对话框上获得单击日期作为开始日期?EventNewComponent
最后我找到了答案。
dayClick: (function (date, jsEvent, view) {
let dialogRef = this.dialog.open(EventNewComponent, {
width: '750px',
data: {
dataKey: date._d
}
});
})
&amp;您可以使用以下构造函数在其他组件中访问它,
constructor( @Inject(MAT_DIALOG_DATA) public data: any) { }
如果您的日期是可选的,
constructor( @Optional() @Inject(MAT_DIALOG_DATA) public data: any) { }