我正在尝试访问ui-calendar中的fullcalendar对象。文档说我所需要做的就是给日历属性起一个名字:
<div ui-calendar="calendarOptions" ng-model="eventSources" calendar="myCalendar">然后,您应该能够访问日历,如下所示:
uiCalendarConfig.calendars.myCalendar这对我不起作用。我得到的对象总是空的。我最终要做的是以编程方式切换视图。如果我只使用完整日历本身,我会这样做:
.fullCalendar( 'changeView', viewName )如何使用ui-calendar指令执行此操作?
编辑*我的实际配置对象:
$scope.uiConfig = {
calendar:{
height: 700,
editable: true,
timezone:'America/Los Angeles',
ignoreTimezone:false,
header:{
left: 'month basicWeek basicDay agendaWeek agendaDay',
center: 'title',
right: 'today prev,next'
},
eventDrop: $scope.onEventDrop,
eventClick : $scope.onEventClick,
eventResize : $scope.onEventResize,
viewDisplay : $scope.onViewDisplay
}
};我实际的日历指令调用:
<div ui-calendar="uiConfig.calendar" ng-model="events" calendar="myCalendar"></div> 我的控制器:
app.controller('CalendarCtrl', function($scope, $http, $rootScope, uiCalendarConfig){
// bunch of methods plus $scope.uiConfig as shown above
// console.log(uiCalendarConfig) outputs {}
});发布于 2014-12-19 11:29:06
解决方案:
$scope.myCalendar.fullCalendar('changeView', 'agendaDay' );这看起来一点也不像文档告诉我要做的事情。然而,它确实解决了我的问题。
发布于 2016-01-24 08:04:18
在查看了他们的网站:http://angular-ui.github.io/ui-calendar/后,我找到了一个解决方案。
你必须在你的控制器中添加uiCalendarConfig变量
angular.module('clientApp').controller('ControllerCtrl', function ($scope, uiCalendarConfig) { ... }添加calendar="yourCalendarName“
<div ui-calendar="uiConfig.calendar" ng-model="eventSources" class="calendar" calendar="yourCalendarName">在此之后,您可以开始使用FullCalendar函数,如下所示:
uiCalendarConfig.calendars.yourCalendarName.fullCalendar('unselect');发布于 2014-12-20 01:32:24
您是否正在使用带有0.9.0-beta1版本的bower?如果是,请查看issue 195。
正如@jrzeznik建议的那样,一个快速的修复方法是用github存储库中的最新版本覆盖calendar.js。
https://stackoverflow.com/questions/27537407
复制相似问题