事件未在jQuery FullCalendar中显示

时间:2015-01-30 15:50:34

标签: javascript jquery angularjs fullcalendar

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

To the left are the events that I want to display in the calendar.

这是我用来保存我通过HTTP Request获取的事件的对象,数组$ 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
    });
}

日历中可能会发生什么?

2 个答案:

答案 0 :(得分:1)

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

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

calendar.html 内部放置完整日历的代码。当您使用路由提供商发送时,也会在控制器中调用 http请求

我认为问题是因为当信息为空时,控制器会尝试调用 http请求,但如果在路由提供商中执行了网址,那么日历就会呈现当这有所有信息时。

我希望这可以帮到你

答案 1 :(得分:0)

确保将$scope.events对象传递给日历的eventSources模型。 e.g。

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

在控制器中

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

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

同时查看此答案https://stackoverflow.com/a/28239074/4510680