2014-12-18 11 views
5

Kullanıcı arabiriminde fullcalendar nesnesine erişmeye çalışıyorum.Angular ui-takvim'de fullcalendar nesnesine erişme

uiCalendarConfig.calendars.myCalendar 

Bu benim için çalışmıyor, aşağıdaki gibi takvime erişebilirsiniz gerekir, sonra

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

: docs yapmam gereken tüm takvim bir özellik adı vermek olduğunu söylemek . Geri döndüğüm nesne her zaman boş. Nihayetinde yapmaya çalıştığım şey, programın görünümü değiştirmesidir. Sadece kendisi tarafından fullcalendar kullanarak ise, bu bunu yapmak görecektir:

.fullCalendar('changeView', viewName) 

Ben ui-takvim yönergesini kullanarak bunu nasıl?

Düzenleme * Benim asıl yapılandırma nesnesi:

$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 

    } 
}; 

Benim gerçek takvim direktifi çağrı:

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

Benim denetleyicisi:

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

'uiCalendarConfig', özellik değerlerinden hiçbiriyle eşleşmiyor – charlietfl

+0

ne yaparsınız kontrolör benziyor mu? uiCalendarConfig 'düzgün şekilde enjekte edilir mi? – user2943490

cevap

5

Çözüm:

$scope.myCalendar.fullCalendar('changeView', 'agendaDay'); 

Bu, belgelerin benim yapmamı istediği şeylere benzemesine benzemiyor. Ancak sorunumu çözüyor.

+0

Github'dan zipli ui-takvim sürüm 1.0'ı indirdim ve bu çözüm benim için çalıştı –

0

0.9.0-beta1 sürümüyle birlikte bower kullanıyor musunuz? Eğer varsa, 195 numaralı konuya bakın.

@jrzeznik'in önerdiği gibi, g7ub deposundan en sonuncu olan calendar.js'nin üzerine yazmak hızlı bir düzeltme olacaktır.

5

Sitelerine baktıktan sonra: http://angular-ui.github.io/ui-calendar/, bir çözüm buldum.

uiCalendarConfig.calendars.yourCalendarName.fullCalendar('unselect'); 
:

Sen böyle FullCalendar işlevlerini kullanmaya başlayabilirsiniz Bundan sonra takvim = "yourCalendarName"

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

ekle Kumandanızda

angular.module('clientApp').controller('ControllerCtrl', function ($scope, uiCalendarConfig) { ... } 

yılında uiCalendarConfig değişkeni eklemek zorunda

+0

Bu, dokümanlar bölümünde belirtilen doğru yoldur ("Bu uiCalendarConfig sabit nesnesine eklenecektir, bu ** DI üzerinden erişilebilen ** ** "). – pambuk