我使用转换为AngularJS的jQuery FullCalendar,我正在使用HTTP请求获取事件,我想在日历中显示它们,我将这些事件保存在插件事件对象中,但它们不会显示在日历中。
这是我用来保存我通过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
});
}
日历中可能会发生什么?
答案 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];
如果这不能解决您的问题,请告诉我。