Fullcalendar 在获取事件之前切换视图时确定新视图

Fullcalendar 在获取事件之前切换视图时确定新视图,fullcalendar,Fullcalendar,我需要在每次切换视图时获取事件,并且需要将视图传递给服务器 但是,在从服务器请求事件时仍会设置旧视图 例如,以下警告是我正在切换的视图,而不是新视图 var calendar = new FullCalendar.Calendar(calendarEl, { lazyFetching: false, events: { url: '/events/get-events', extraParams: function(){

我需要在每次切换视图时获取事件,并且需要将视图传递给服务器

但是,在从服务器请求事件时仍会设置旧视图

例如,以下警告是我正在切换的视图,而不是新视图

var calendar = new FullCalendar.Calendar(calendarEl, {
   lazyFetching: false,
     events:
        {
           url: '/events/get-events',
           extraParams: function(){ 
              alert(calendar.view.type);
           }
        }
     }
在以下代码中切换视图


有什么解决方法吗?

“需要将视图传递给服务器”…为什么,出于兴趣?根据视图的不同,服务器会做哪些不同的事情?该视图通常只更改可见天数或其布局。这些天发生的事件在所有情况下都是相同的。Anway、事件呈现和视图呈现是异步操作。好吧,您不能保证在启动AJAX请求获取事件之前视图已经更新。因此,我怀疑您在实现这一点时会遇到困难。我们使用“列表年”只是列出一个往来帐户的事件,因此,如果视图为“列表年”,我只会返回往来帐户的事件。有点小技巧,但我正在监听“视图更改”按钮上的鼠标,如果按钮为“列表年”,则设置一个标志。现在可以了。请注意,如果您启用了导航链接,例如,这也会更改视图。因此,除了主按钮之外,可能还有其他方法。