我正在尝试访问ui-calendar中的fullcalendar对象。文档说,我需要做的就是给calendar属性命名:

<div ui-calendar="calendarOptions" ng-model="eventSources" calendar="myCalendar">

然后,您应该能够像这样访问日历:
uiCalendarConfig.calendars.myCalendar

这对我不起作用。我回来的对象总是空的。我最终想要做的是以编程方式切换 View 。如果我自己仅使用全日历,这就是我要这样做的方式:
.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>

我的 Controller :
app.controller('CalendarCtrl', function($scope, $http, $rootScope, uiCalendarConfig){
    // bunch of methods plus $scope.uiConfig as shown above
    // console.log(uiCalendarConfig) outputs {}
});

最佳答案

在查看他们的站点:http://angular-ui.github.io/ui-calendar/之后,我找到了解决方案。

您必须在 Controller 中添加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');

关于angularjs - 在Angular ui-calendar中访问fullcalendar对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27537407/

10-17 01:09