ViewRender之后的FullCalendar视图冻结

时间:2017-04-20 14:56:51

标签: javascript jquery angularjs asynchronous fullcalendar

我在这里遇到了很多问题,我尝试在使用同步点更改视图时加载事件。更改同步点工作得很好,我也可以发送和接收信息。但日历仍然冻结,我必须在它开始再次工作前几个月改变。然后我可以回到上个月。 我使用AngularJS加载事件,并$q在请求之前加载数据:

$q(function(resolve, reject) {
  resolve(beforeSendStatus());
}).then(function() {
  EventService.get({
    start: moment(start).format("DD-MM-YYYY"),
    end: moment(end).format("DD-MM-YYYY"),
    format: 'FC',
    onlyMe: false
  }).then(function(data) {
    $('.status').find('i').removeClass("fa-spin fa-circle-o-notch").addClass('fa-check');
    //TODO trouver un autre moyen que le addEventSource, ca fait bugger le calendrier.
    Calendar.fullCalendar('renderEvents', data.data);
    console.log('revenue bouge esti');
    eventLenghtCalc(view, 325);
    console.log('yes');
  }, function(error) {
    $('.status').find('i').removeClass("fa-spin fa-circle-o-notch").addClass('fa-close').css({
      'color': 'red'
    });
    toastr.error(error.data);
  });
})

如果我使用$q移除部件,则效果很好。 你们中有没有人在viewRender回调中遇到异步功能问题?

谢谢,祝你有个美好的一天!

PS。 beforeSendStatus()函数仅更改微调器的图标。

2 个答案:

答案 0 :(得分:0)

你的Calendar对象是什么?是https://fullcalendar.io/吗?

  

如果你将jquery代码与angular混合,请小心;混合没有   工作得很好。更好地添加全局变量并使用ng-class   更新你的电话。

我建议使用角度ui组件,例如:http://angular-ui.github.io/ui-calendar/

答案 1 :(得分:0)

首先,我相信您可以将eventSources用于多个偶数来源。

如果您仍想手动添加活动'使用addEventSource函数。

对于装载程序,您也可以使用fullCalendar的loading回调。