我最近将全日历版本v3.4更改为v4,因为我需要一些新选项,但通常在需要获取内容并且习惯了时我都会使用ajax。我的问题是,在使用this方式后,我不知道如何加载事件:

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

    let calendar = new FullCalendar.Calendar(calendarEl, {
        locale: 'pt',
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay,listWeek'
        },
        buttonText: {
            today: 'Hoje',
            listWeek: 'lista',
        },
        events: {
            url: '/agenda/getEvents',
            method: 'GET',
            extraParams: {
                data: { "_token": "{{ csrf_token() }}" }
            },
        }
    });
    calendar.render();
});


事件正在正确获取,但是现在呢?!,我在哪里实现then或success函数以便加载它们?

谢谢您的时间,问候。

最佳答案

文档尚不清楚,但是您需要使用事件对象(https://fullcalendar.io/docs/v4/event-object)的有效JSON格式获取/agenda/getEvents(或文档中的/myfeed.php)结果,例如:

[
    {
      "id": "a",
      "title": "my event",
      "start": "2018-09-01"
    }
]


您也可以具有自定义属性,但随后需要使用回调eventRenderhttps://fullcalendar.io/docs/eventRender)来对element数据进行操作。

还有其他可能有用的回调,请参见https://fullcalendar.io/docs/event-displayhttps://fullcalendar.io/docs/v4/event-parsing对其进行了更好的说明。

编辑

OP实际上正在寻找https://fullcalendar.io/docs/v4/events-function,该回调的v4版本注册与以前的版本不同。

关于javascript - fullcalendar v4-alpha 3在从json获取后加载事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54910806/

10-12 00:07