Javascript Angular7 fullcalendar v5日期集回调未触发

Javascript Angular7 fullcalendar v5日期集回调未触发,javascript,angular,fullcalendar,Javascript,Angular,Fullcalendar,我在angular 7项目中使用angular full calendar(v5.3)组件,我希望在用户更改视图日期时触发事件(在日期之间导航时) 这就是我的日历选项的外观,除了显示数据之外,此日历和用户之间没有交互 @ViewChild('calendar') calendarComponent: FullCalendarComponent; calendarOptions: CalendarOptions = { headerToolbar: { left: 'pr

我在angular 7项目中使用angular full calendar(v5.3)组件,我希望在用户更改视图日期时触发事件(在日期之间导航时) 这就是我的日历选项的外观,除了显示数据之外,此日历和用户之间没有交互

 @ViewChild('calendar') calendarComponent: FullCalendarComponent;
  calendarOptions: CalendarOptions = {
    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    },
    initialView: 'timeGridWeek',
    weekends: true,
    editable: false,
    selectable: false,
    selectMirror: false,
    dayMaxEvents: true,
    nowIndicator: true,
    allDaySlot: false,
    eventSources: [ ],
  };
html页面

<div>
      <full-calendar (datesSet)="handleDates($event)" defaultView="dayGridMonth" [options]="calendarOptions"></full-calendar> 
</div>

事件hadler函数

 handleDates(args:any){    
    var startDate = args.view.activeStart;
    var endDate = args.view.activeEnd;
    if(endDate > this.periodEndDate){
      this.periodStartDate = new Date(endDate.getFullYear(),endDate.getMonth()-1, 1);
      this.periodEndDate = new Date(startDate,startDate.getMonth() + 2, 0);
    } else if(startDate < this.periodEndDate){
      this.periodStartDate = new Date(startDate.getFullYear(),endDate.getMonth()-1, 1);
      this.periodEndDate = new Date(endDate,endDate.getMonth() + 2, 0);
    }        
   //this method loads event data from the API;
    this.refreshCalendarData(this.periodStartDate, this.periodEndDate);
  }
handleDates(args:any){
var startDate=args.view.activeStart;
var endDate=args.view.activeEnd;
如果(endDate>this.periodEndDate){
this.periodStartDate=新日期(endDate.getFullYear(),endDate.getMonth()-1,1);
this.periodEndDate=新日期(startDate,startDate.getMonth()+2,0);
}else if(开始日期<此周期结束日期){
this.periodStartDate=新日期(startDate.getFullYear(),endDate.getMonth()-1,1);
this.periodEndDate=新日期(endDate,endDate.getMonth()+2,0);
}        
//此方法从API加载事件数据;
this.refreshCalendarData(this.periodStartDate,this.periodEndDate);
}
不知怎的,这个handleDates(args:any)没有触发

代码中是否存在任何问题?
基本上,我希望加载特定日期范围的数据,并在用户从UI更改日期时对其进行更改。

找到了解决方案,我以错误的方式使用了回调。
dateset
应包含在日历选项中,并绑定到如下方法

  @ViewChild('calendar') calendarComponent: FullCalendarComponent;
  calendarOptions: CalendarOptions = {
    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    },
    initialView: 'timeGridWeek',
    weekends: true,
    editable: true,
    selectable: true,
    selectMirror: false,
    dayMaxEvents: true,
    nowIndicator: true,
    allDaySlot: false,
    datesSet: this.handleDates.bind(this),
    eventSources: [ ],
  };

找到了解决方法,我用错了回调。
dateset
应包含在日历选项中,并绑定到如下方法

  @ViewChild('calendar') calendarComponent: FullCalendarComponent;
  calendarOptions: CalendarOptions = {
    headerToolbar: {
      left: 'prev,next today',
      center: 'title',
      right: 'dayGridMonth,timeGridWeek,timeGridDay'
    },
    initialView: 'timeGridWeek',
    weekends: true,
    editable: true,
    selectable: true,
    selectMirror: false,
    dayMaxEvents: true,
    nowIndicator: true,
    allDaySlot: false,
    datesSet: this.handleDates.bind(this),
    eventSources: [ ],
  };

太好了我正在调查你的问题。。如果你下次发布此类问题时可以发布stackblitz示例,那就更好了。是的,我下次会这样做,非常感谢你的努力很好,我正在调查你的问题。。如果你下次发布此类问题时可以发布stackblitz示例,那就更好了。是的,我下次会这样做,非常感谢你的努力