ViewRender之后的FullCalendar视图冻结

Nic*_*las 7 javascript jquery asynchronous fullcalendar angularjs

我在这里遇到了很多问题,我正在尝试使用同步点更改视图时加载事件.更改同步点工作得很好,我也可以发送和接收信息.但日历仍然冻结,我必须在它再次开始工作前几个月改变.然后我可以回到上个月.我正在使用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);
  });
})
Run Code Online (Sandbox Code Playgroud)

如果我删除它的部分$q效果很好.你们中有没有人在viewRender回调中遇到异步功能问题?

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

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

aor*_*vre 0

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

如果将 jquery 代码与 Angular 混合使用,请务必小心;混合效果不佳。更好的方法是添加全局变量并使用 ng-class 来更新您的调用。

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