使用事件作为角度函数从数据库中检索 FullCalendar 事件

问题描述 投票:0回答:0

我正在尝试使用 CalendarOptions 中的事件字段从我的数据库加载我的完整日历事件,如下所示。

  calendarOptions: CalendarOptions = {
    plugins: [timeGridPlugin, interactionPlugin],
    initialView: 'timeGridDay',
    editable: true,
    selectable: true,
    select: this.handleDateSelect.bind(this),
    eventClick: this.handleEventClick.bind(this),
    eventsSet: this.handleEvents.bind(this),

    events: function(fetchInfo,successCallback){
      LoadEvents(fetchInfo.startStr)
        .then((returnEvents) => {
          console.log(returnEvents);
          successCallback(returnEvents);
        })
        .catch((error) => {
          console.log(error);
        })
    }
  };

我的 LoadEvents 函数能够成功记录结果,但我不能只返回数组,因为 http.get 是异步的并且数组返回为空。

async LoadEvents(date : string) {

  const events : EventInput[] = [];
  
  http.get<CalendarEvent[]>(getBaseUrl() + 'calendarevent').subscribe(result => {
    result.forEach(function (val) {
      console.log(result.length)
      events.push({
        id: val.id,
        title: val.title,
        start: val.date
      })
    })
  }, error => console.error(error));

  return events;
}

在返回数组之前,我尝试以多种不同的方式等待 http.get,这样我就可以使用完整的日历初始事件,但我无法让它工作。

谢谢你的帮助。

angular database xmlhttprequest fullcalendar
© www.soinside.com 2019 - 2024. All rights reserved.