jQuery FullCalendar 中未显示的事件

Events not displayed in jQuery FullCalendar

我正在使用 jQuery FullCalendar 转换为 AngularJS,我正在使用 HTTP 请求获取事件,我想在日历中显示它们,我将这些事件保存在插件事件对象中, 但它们不会显示在日历中。

这是我用来保存通过 HTTP 请求获得的事件的对象,数组 $scope.appointment_list 包含我在左侧列表中显示的事件,日期在插件建立的默认格式,但我无法在日历中显示它们。

for(var i in $scope.appointments_list) {
    $scope.events.push({
        title: $scope.appointments_list[i].status,
        start: new Date($scope.appointments_list[i].date_start),
        end: new Date($scope.appointments_list[i].date_end),
        className: ['openSesame'],
        allDay: false,
        color: 'green',
        textColor: 'white',
        forceEventDuration: true
    });
}

日历中可能会发生什么?

确保 $scope.events 对象已传递给日历的 eventSources 模型。 例如

<div ui-calendar="uiConfig.calendar" ng-model="eventSources"></div>

在控制器中

$scope.events=[];
$scope.eventSources=[$scope.events];

如果这不能解决您的问题,请告诉我。

同时检查这个答案

我有同样的错误,但我不知道为什么会这样。但在我的例子中,要修复此错误是在 路由提供程序 中创建一个 url。像这样:

$routeProvider.when('/calendar/:somethingAjaxInfo', {
    templateUrl: 'calendar.html',
    controller: 'CalendarCtrl' });

并且在calendar.html里面放置完整日历的代码。当您使用 路由提供程序 发送时,也在控制器中调用 http 请求

我认为问题是因为控制器在信息为空时尝试调用 http 请求,但是如果在 route provider 当这具有所有信息时呈现日历。

希望对您有所帮助