切换fullcalendar视图时重新获取事件

我在日历中使用了3个视图:month,agendaWeek和agendaDay。 添加事件后,我调用refetchEvents来显示新事件。 如果我从agendaweek或agendaDay添加活动,那么重新获取当然会抓住一周或一天的活动。 如果我然后切换到月视图,我只有一周或一天的事件。

我试着在viewDisplay上添加一个refetchEvents。 问题在于它在初始加载时运行,导致所有事件的重复。 有没有办法阻止在日历加载过程中调用refetchEvents?

切换视图时是否有其他方式强制重新提取?


听起来像是一个增强fullcalendar库本身的好主意 - 库可以为“viewChanged”甚至“viewChanging”事件提供回调函数。 这种事情真的很缺失,因为如果你需要创建“AJAX深层链接”,你还需要知道视图何时发生变化。

更新:如果您在添加活动后更改日历的“lazyFetching”选项http://arshaw.com/fullcalendar/docs/event_data/lazyFetching/,会发生什么情况?


在创建fullcalendar时,viewDisplay方法会在视图更改时触发。 从逻辑上讲,您可以将其用作viewChanged事件。 例如:

$('#calendar').fullCalendar({
    ... 
    viewDisplay: function(view) { alert('viewDisplay(' + view + ')'); }
});

看来,从版本1.6.3 ,正确的回调viewRenderviewRender

$('#calendar').fullCalendar({
    ...
    viewRender: function(view, element) { alert('new view: ' + view.name); }
});

不是一个完美的想法,但只是增加一个替代方案...

$('.fc-month-button').click(function () {

});

$('.fc-agendaWeek-button').click(function () {

});
链接地址: http://www.djcxy.com/p/81219.html

上一篇: Refetch events when switching fullcalendar views

下一篇: Java JBoss 401 Error on SharePoint 2010 Web Service