如何从此脚本之外刷新日历?

How can I refresh calendar from outside this script?

我需要从日历外的按钮重新加载异步日历 (fullcalendar 4),以获取输入数据库的事件

从另一个应用程序创建的事件

document.addEventListener('DOMContentLoaded', function() {
    var calendarEl = document.getElementById('calendar');

    var calendar = new FullCalendar.Calendar(calendarEl, {
      plugins: [ 'interaction', 'dayGrid', 'timeGrid' ],
      selectable: true,
      header: {
        left: 'prev,next today',
        center: 'title',
        right: 'dayGridMonth,timeGridWeek,timeGridDay'
      },

      select: function(info) {
        alert('selectado ' + info.startStr + ' to ' + info.endStr);
      },

      events: {
        url: 'cal',
        failure: function() {
          document.getElementById('script-warning').style.display = 'block';
        }
      },

    });

    calendar.render();

  });

我无法使用此脚本之外的按钮重新加载此日历

您可以使用 refetchEvents 方法。它从所有来源重新获取事件并重新呈现它们。像这样使用它:

calendar.refetchEvents();

参考:https://fullcalendar.io/docs/Calendar-refetchEvents

确保将按钮侦听器函数放在 DOMContentLoaded 函数中,这样您就可以访问 calendar var.