【发布时间】:2019-01-16 13:14:20
【问题描述】:
我在我的 rails 应用程序中使用 Fullcalendar.js(通过 fullcalendar gem https://github.com/mkhairi/fullcalendar)。
我拥有的 fullcalendar.js 的版本是 3.8.2(我通过在控制台中输入 Fullcalendar 在 chrome 的检查器中找到了这个,我得到了这个)
全日历 {version: "3.8.2", internalApiVersion: 12, applyAll: ƒ, debounce: ƒ, isInt: ƒ, ...}
当我执行以下步骤时,Fullcalendar 崩溃,并且不呈现视图:
1- 初始视图是周视图(agendaWeek)
2- 更改日视图,例如选择下周的一天(d = 今天 + 1 周)
$('#calendar').fullCalendar('gotoDate',d);
3- 将视图改回日视图(agendaDay)
$('#calendar').fullCalendar('changeView','agendaDay');
4- 将视图更改为周视图
$('#calendar').fullCalendar('changeView','agendaWeek');
它给出以下错误,并且不加载周视图:
fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:11974 Uncaught TypeError: Cannot read property 'minTime' of
null
at ResourceTimeGrid.TimeGrid.computeTimeTop (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:11974)
at ResourceTimeGrid.TimeGrid.computeDateTop (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:11968)
at ResourceTimeGrid.TimeGrid.computeSegVerticals (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:12007)
at ResourceTimeGrid.TimeGrid.updateSegVerticals (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:11995)
at TimeGridFillRenderer.attachSegEls (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:14104)
at TimeGridFillRenderer.FillRenderer.renderSegs (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:6435)
at TimeGridEventRenderer.EventRenderer.renderBgSegs
(fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:4321)
at TimeGridEventRenderer.EventRenderer.renderBgRanges
(fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:4297)
at TimeGridEventRenderer.EventRenderer.render (fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:4273)
at ResourceTimeGrid.DateComponent.executeEventRender
(fullcalendar.self-
4ac7cb5378baf9f7c517f032032aaab305cd3b2213aacbab690c4efdc0047f46.js?
body=1:8848)
这是我正在使用的代码的 sn-p:
$('#calendar').each(function(){
var calendar = $(this);
calendar.fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
selectable: true,
selectHelper: true,
editable: true,
eventLimit: true,
defaultView: 'agendaWeek',
locale: 'fr',
slotDuration: '00:15:00',
nowIndicator:true,
defaultDate:"2019-01-14",
displayEventTime: false,
hiddenDays:[0],
minTime:'06:00',
maxTime:'23:00',
columnHeaderFormat:"ddd D",
views :
{
month:
{
groupByResource:true,
},
agenda:
{
groupByDateAndResource:true,
},
day:
{
groupByDateAndResource:true,
},
},
dayClick: function(date, jsEvent, view) {
alert("dayClick");
},
viewRender: function(view, element) {
console.log(view.options);
}
//...other callbacks, not necessary to paste them
});
非常感谢!
【问题讨论】:
-
据我所知,您发布的代码并未重现该问题。演示:jsfiddle.net/yk52Lu9c/1。您收到错误的最可能原因是您没有为
minTime指定有效值。但是,根据您的代码,您确实这样做了。也许 Ruby 实现存在一些特定的问题......但很难看出可能是什么,因为 fullCalendar 是纯粹的 JavaScript 客户端代码。 -
感谢您的回复,我刚刚通过下面的解释发布了解决问题的方法。
标签: fullcalendar fullcalendar-3