【发布时间】:2023-04-08 17:14:01
【问题描述】:
将 Fullcalendar 与 Vue.js 结合使用,我从变量传递初始事件,但我需要在更新此变量后,日历中的事件也会更新。 documentation 似乎对此很清楚:
但我已经尝试过了,但没有任何反应,事件保持为第一次渲染。
此外,我查看了许多关于此主题的 SO 相关答案,但其中大多数都与 JQuery 一起应用,这不是我的情况。
我不知道如何以正确的方式应用它。
提前感谢您的关注...
我创建日历的代码:
<FullCalendar :options="calendarOptions" ref="fullCalendar"/>
data() {
return {
calendarOptions: {
firstDay: new Date().getDay(),
plugins: [timeGridPlugin, interactionPlugin],
headerToolbar: {
left: '',
center: 'title',
right: 'prev,next'
},
initialView: 'timeGridWeek',
slotMinTime: "09:00:00",
slotMaxTime: "20:00:00",
height: "1070px",
expandRows: true ,
dayHeaderFormat: { weekday: 'narrow', day: 'numeric' },
events: displayEvents
},
...
更新变量的函数:
getEvents() {
this.displayEvents = [
{
id: 1,
title: "TEST1",
start: "2021-03-29 09:00:00",
end: "2021-03-29 11:00:00",
backgroundColor: "#FF5733"
},
{
id: 2,
title: "TEST2",
start: "2021-03-29 10:00:00",
end: "2021-03-29 11:05:00",
backgroundColor: "#0053B8"
},
]
let calendarApi = this.$refs.fullCalendar.getApi()
calendarApi('refetchEvents')
this.$refs.fullCalendar('refetchEvents')
}
(displayEvents来自另一个javascript文件utils.js,执行函数后修改)
更新:
我发现我以不正确的方式调用了.fullCalendar('refetchEvents') 方法。现在我称它为:
let calendarApi = this.$refs.fullCalendar.getApi()
calendarApi.refetchEvents()
但在此之后,这些更改仍然没有反映在日历中。
【问题讨论】:
-
您的文档链接已过期 - 请注意 URL 中的版本号。 fullcalendar.io/docs/Calendar-refetchEvents 是最新的
-
@ADyson 哦,我没有注意到这一点......我不小心进入了这个链接......谢谢你的回答,你帮了我很多!
标签: javascript vue.js fullcalendar fullcalendar-5