fullcalendar uncaught typeerror: cannot read properties of undefined (reading 'setoption')

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

在FullCalendar中尝试使用setOption方法时抛出Js错误

fullcalendar 未捕获的类型错误:无法读取未定义的属性(读取“setoption”)

var calendar = new FullCalendar.Calendar(calendarEl, {
...
}).render();
calendar.setOption('height', 520);

javascript fullcalendar fullcalendar-5
2个回答
0
投票

在呈现日历之前不需要提供选项(如this answer中所建议)。

问题实际上来自您的函数链接。

通过将

.render()
放在
new FullCalendar.Calendar...
命令的末尾,使
calendar
变量实际上包含
render()
函数的返回值,而不是 fullCalendar 构造函数的返回值。由于
render()
不返回日历对象(事实上,它 根本不返回任何东西 - 因此错误消息中的
undefined
问题),您不能在其上调用
setOption

只需直接分配

calendar
并在下一行调用
render()
,您的问题就解决了。

var calendar = new FullCalendar.Calendar(calendarEl, {
...
});

calendar.render();
calendar.setOption('height', 520);

演示:https://codepen.io/ADyson82/pen/KKxGNBV


-1
投票

对于 FullCalendar 5.0 及更高版本。 setOption 应该在渲染函数之前被调用。 例如:

会导致js错误

var calendar = new FullCalendar.Calendar(calendarEl, {
...
}).render();
calendar.setOption('height', 520);

会工作

var calendar = new FullCalendar.Calendar(calendarEl, {
...
});
calendar.setOption('height', 520);
calendar.render();
© www.soinside.com 2019 - 2024. All rights reserved.