【问题标题】:FullCalendar view freeze after viewRender在 viewRender 之后 FullCalendar 视图冻结
【发布时间】:2017-09-17 07:10:18
【问题描述】:

我在这里遇到了很大的问题,我正在尝试在使用同步点更改视图时加载事件。更改同步点效果很好,我还可以发送和接收信息。但是日历仍然冻结,我必须更改几个月才能再次开始工作。然后我可以回到上个月。 我正在使用 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() 函数仅更改微调器的图标。

【问题讨论】:

  • 可以分享 beforeSendStatus() 的代码吗?
  • 这与 fullCalendar 代码有什么关系?这个例子在“viewRender”回调中吗?通常,fullCalendar 会在视图更改时自动刷新事件列表,假设您已将事件列表定义为 URL 或函数。我认为我们需要更多关于如何设置日历的背景信息。
  • 如何填充日历?

标签: javascript jquery angularjs asynchronous fullcalendar


【解决方案1】:

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

如果您将 jQuery 代码与 Angular 混合使用,请小心;混合不 运作良好。更好地添加全局变量并使用 ng-class 更新您的通话。

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

【讨论】:

  • 它确实是 fullCalendar,我知道我不应该混合 angular 和 jquery,但它在其他日历中效果很好。
  • 你试过了吗:Calendar.fullCalendar('renderEvents', data.data); Calendar.fullCalendar('rerenderEvents') ?
  • 添加事件没有问题,
【解决方案2】:

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

如果您仍想“手动”添加事件,请使用 addEventSource 函数。

对于加载器,您也可以使用 fullCalendar 的 loading 回调。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    相关资源
    最近更新 更多