视图切换时的完整日历中断



每当我在完整日历上切换月份时,我都会收到以下错误消息

Uncaught TypeError: specialTokens[fakePart.substring(...)] is not a function

我的所有事件都会从日历中消失。

我正在尝试在月份更改时重新渲染我的事件,但我不断收到错误消息,并且它不会重新加载我的事件。

爪哇语

var events = <?php echo $eventsArray ?>;
var blocked = <?php echo $blockedArray ?>;
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
console.log(blocked);
for (var i = 0; i < Object.keys(blocked).length; i++) {
console.log(blocked[i].date);
}
$('#democalendarfull').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
viewRender: function(view, element) {
$('#democalendarfull').fullCalendar( 'rerenderEvents' );
},
editable: false,
aspectRatio: 2,
droppable: false,
events: events,
dayRender: function (date, cell) {
var today = new Date();
if (date._d.getDate() === today.getDate()) {
cell.css("background-color", "red");
}
}
});

.HTML

<div id="democalendarfull" class="mb">
<div class="panel green-panel no-margin">
<div class="panel-body">
<div id="date-popover" class="popover top" style="cursor: pointer; disadding: block; margin-left: 33%; margin-top: -50px; width: 175px;">
<div class="arrow"></div>
<h3 class="popover-title" style="disadding: none;"></h3>
<div id="date-popover-content" class="popover-content"></div>
</div>
//JAVASCRIPT IS INSIDE HERE
</div>
</div>
</div>

.PHP

$results= $db->query("SELECT * FROM mytable");
$events = array();
while($fetch = mysqli_fetch_assoc($results)){
$e = array();
$e['id'] = $fetch['id'];
$e['title'] = $fetch['title'];
$e['start'] = $fetch['start'];
$e['end'] = $fetch['end'];
$e['url'] = $fetch['url'];
array_push($events, $e);
}
$eventsArray = json_encode($events);

我的事件都在加载并在页面加载时正常工作,但是一旦我在几个月内循环,我就会收到错误消息并且它中断了!我不知道我是否用错了它,但无论我做什么,我都无法让它保留我的事件!

升级 fullCalendar 后我遇到了同样的问题,花了我一点时间才弄清楚,因为将近一年来一切正常,而且我过去升级了 fullCalendar,没有任何问题,出于某种原因,我不得不在我使用 fullCalendar 的页面中包含moment.js,看到我运行一个 MVC 站点,以前母版页 (_layout.cshtml) 引用moment.js, 现在不确定为什么这不再有效,只是作为测试,我在实际页面中添加了对时刻的引用,我使用 fullCalendar 并且我对事件的问题消失了,以及日历标题中undefined的另一个问题。

就我而言,修复是:

@Scripts.Render("~/bundles/dates") 

在您的情况下,它可能只是:

<script src='//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js'></script>

如果你的问题不是对时刻的引用,你可能想尝试使用回调,文档提到了这一点,但我没有看到你使用它:

尝试:

callback($events);

相关内容

  • 没有找到相关文章