我最近将全日历版本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"
}
]
您也可以具有自定义属性,但随后需要使用回调
eventRender
(https://fullcalendar.io/docs/eventRender)来对element
数据进行操作。还有其他可能有用的回调,请参见https://fullcalendar.io/docs/event-display和https://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/