使用Angular & FullCalendar(通過angular-ui-calendar項目),我似乎無法使事件綁定正常工作。Angular UI日曆(FullCalendar)不與範圍事件綁定
當硬編碼的事件:
$scope.events = [
{
title: 'Event1',
start: '2016-03-04'
}
];
$scope.eventSources = {
events: $scope.events,
color: '#999',
textColor: 'black'
};
,一切工作正常。
但是,由於該頁面包含事件過濾器,因此我需要能夠隨時對其進行修改。這樣做時,日曆上沒有任何修改。
我已經嘗試了許多不同的方法,並閱讀了angular-ui-calendar & fullCalendar文檔,但找不到任何線索,說明爲什麼綁定無法正常工作。
當我這樣做(超時被用來只是爲了簡化問題,考慮一個Ajax請求,而不是):
$scope.events = [];
$scope.eventSources = {
events: $scope.events,
color: '#999',
textColor: 'black'
};
$timeout(function() {
$scope.events = [
{
title: 'Event1',
start: '2016-03-04'
}
];
},1000);
沒有被添加到日曆。 我試圖調用fullCalendar元件上的刷新方法,使用
uiCalendarConfig.calendars.myCalendar.fullCalendar('rerenderEvents');
//also tried - uiCalendarConfig.calendars.myCalendar.fullCalendar('refetchEvents');
//also tried - uiCalendarConfig.calendars.myCalendar.fullCalendar('render');
(uiCalendarConfig
被正確地注入到控制器)。
我也嘗試用$scope.$apply()
包裝代碼,但沒有成功。
我fullCalendar工作之前通過的JavaScript/jQuery的API直接和它工作得很好,角度的UI日曆文件指出,「的UI日曆指令與NG-模型很好地發揮。」但到目前爲止,它的不過是痛苦。
我實際的HTML標籤是
<div ui-calendar="uiConfig.calendar" ng-model="eventSources" calendar="myCalendar"></div>
有任何在控制檯沒有誤差修改。
關於如何解決這個問題以及爲什麼事件綁定不是一個可以假設的簡單方法?
謝謝,但這似乎是一個很大的警告,你是說沒有'角'的方式來修改初始化後顯示的事件嗎? – Yani
看看我編輯過的帖子。如果第二部分不會幫助你,那麼就是這樣。那麼angular-ui-calendar不會在「稍後」支持綁定事件。這經常發生。這只是指令的一個問題,因爲它不是「以那種方式實現」,那麼 –
我已經嘗試將數據推送到'$ scope.events',不幸的是無法正常工作。 – Yani