如何发送FullCalendar Day单击Angular5中的其他组件



我正在尝试将日期发送到对话框(用于注册新事件)。

这就是我在日历中添加的方式,

 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) { }

相关内容

  • 没有找到相关文章

最新更新