2015-01-30 4 views
0

Я использую jQuery FullCalendar, преобразованный в AngularJS, я получаю события с HTTP-запросом, и я хочу показать их в календаре, я сохраняю эти события в объекте событий плагина, но они не отображается в календаре.События не отображаются в jQuery FullCalendar

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

Это объект, который я использую, чтобы сохранить события, которые я получаю с 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 
    }); 
} 

Что может происходить в календаре?

ответ

1

Я имел ту же ошибку, и я не знаю почему это происходит. Но в моем случае, чтобы исправить эту ошибку, необходимо создать URL-адрес в провайдере . Что-то вроде этого:

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

И внутри calendar.html поместить код полного календаря. Также в контроллере вызовите http-запрос, когда вы отправляете с поставщиком .

Я думаю, что проблема в том, что контроллер попытаться вызвать запрос HTTP, когда информация является пустой, но если сделать URL в поставщике маршрута календарь является визуализироваться при этом иметь всю информацию.

Я хочу это может помочь вам

+0

Большое спасибо, это сработало для меня, когда я изменил макет календаря на новый HTML-файл с помощью $ routeProvider. –

0

Удостоверьтесь, что $scope.events объект передан в eventSources модель для вашего календаря. , например.

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

В контроллере

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

Позвольте мне знать, если это не решит проблему.

Также проверьте этот ответ https://stackoverflow.com/a/28239074/4510680

+0

Sorry человека, что didn't для меня работа, я уже eventSources массив таким образом. –