我使用fullCalendar.js中的viewRender对我的日历事件进行一些自定义处理。仅供参考,这是为了在视图中我可以向服务器请求查看视图中包含的事件,然后返回这些事件,然后返回的数据在客户端上处理并添加为数组eventSource
$("#calendar").fullCalendar(
{
viewRender: function (view, element)
{
var data = {};
data.periodStart = view.intervalStart.format("YYYY-MM-DD HH:mm:ss");
data.periodEnd = view.intervalEnd.format("YYYY-MM-DD HH:mm:ss");
call.myServer(data,function(replyData)
{
// some custom code
});
}
}
这对我来说非常好,直到我需要更新当前视图中的事件。我似乎无法找到一种方法让日历能够刷新"刷新"当前视图也调用viewRender函数。
根据此处的文档文档http://fullcalendar.io/docs/display/viewRender/
当用户更改视图时,将触发此回调,或 当任何日期navigation methods被调用时。
所以我试过了:
$("#calendar").fullCalendar('refetchEvents');
$("#calendar").fullCalendar('gotoDate', moment("something sensible"));
关于sangram parmar的建议
use $('#calendar').fullCalendar('render');
但是viewRender永远不会被调用。
我可以将我的viewRender逻辑复制/抽象为一个单独的函数并调用它,将新事件推送到日历中,但这看起来有点不干净。
无论如何以编程方式调用viewRender或强制刷新当前视图?