2014-12-18 21 views
5

Tôi đang cố truy cập đối tượng fullcalendar trong lịch ui. Các tài liệu nói rằng tất cả những gì cần làm là cung cấp cho thuộc tính lịch một cái tên:Truy cập đối tượng fullcalendar trong Angular ui-calendar

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

Sau đó, bạn sẽ có thể truy cập vào lịch như vậy:

uiCalendarConfig.calendars.myCalendar 

này không làm việc cho tôi . Đối tượng tôi quay lại luôn trống. Những gì Im cố gắng để làm cuối cùng là chuyển đổi chế độ xem theo chương trình. Nếu tôi chỉ sử dụng chính bản thân mình, đây là cách tôi sẽ làm điều đó:

.fullCalendar('changeView', viewName) 

Làm cách nào để thực hiện điều này bằng chỉ thị lịch-lịch?

Sửa * My đối tượng cấu hình thực tế:

$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 

    } 
}; 

thực tế chỉ thị lịch cuộc gọi của tôi:

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

điều khiển của tôi:

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

'uiCalendarConfig' không khớp với bất kỳ giá trị thuộc tính nào của bạn – charlietfl

+0

bạn là gì Bộ điều khiển r trông như thế nào? 'uiCalendarConfig' có được tiêm đúng cách không? – user2943490

Trả lời

5

Giải pháp:

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

Có vẻ như tài liệu hướng dẫn tôi làm gì. Tuy nhiên nó giải quyết vấn đề của tôi.

+0

Tôi vừa tải xuống phiên bản ui-lịch đã nén z từ github và giải pháp này làm việc cho tôi –

0

Bạn đang sử dụng bower với phiên bản 0.9.0-beta1? Nếu bạn đang có, hãy xem sự cố 195.

Khi @jrzeznik đề xuất, khắc phục nhanh sẽ là ghi đè lịch calendar.js bằng lịch mới nhất từ ​​kho lưu trữ github.

5

Sau khi tìm đến trang web của họ: http://angular-ui.github.io/ui-calendar/, tôi đã tìm thấy giải pháp.

Bạn phải thêm biến uiCalendarConfig trong điều khiển

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

của bạn Thêm lịch = "yourCalendarName"

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

Sau đó bạn có thể bắt đầu sử dụng các chức năng FullCalendar như thế này:

uiCalendarConfig.calendars.yourCalendarName.fullCalendar('unselect'); 
+0

Đây là cách chính xác được đề cập trong tài liệu ("Điều này sẽ được gắn với đối tượng liên tục uiCalendarConfig, có thể truy cập qua ** DI ** "). – pambuk

Các vấn đề liên quan