我在 Angular ui 日历上使用外部事件:
.HTML:
<div id='external-events'>
<ul>
<li class='fc-event'>Event 1</li>
<li class='fc-event'>Event 2</li>
<li class='fc-event'>Event 3</li>
</ul>
</div>
<div ui-calendar="uiConfig.calendar" calendar="myCalendar" ng-model="eventSources">
控制器:
$scope.eventSources = [{
events: [],
color: '#428bca',
textColor: 'white',
overlap: false
}]
$scope.uiConfig = {
calendar: {
header: {
left: 'prev,next today',
center: 'title',
right: 'agendaDay,agendaTwoDay,week'
},
defaultView: 'agendaDay',
height: 'auto',
editable: true,
droppable: true,
eventOverlap: false,
allDaySlot: false,
slotDuration: '00:10:00',
snapDuration: '00:05:00',
eventReceive: $scope.eventReceived,
eventDrop: function( event, delta, revertFunc, jsEvent, ui, view ) {
$scope.eventDropped(event, delta);
},
eventClick: $scope.eventClicked
}
};
我想在保存时获取日历上的所有事件。我知道您可以在使用fullCalendar本身的同时使用clientEvents:
$('#calendar').fullCalendar('clientEvents');
ui日历有等效项吗?我想我问的是使用什么语法来访问客户端事件。我想不通。我尝试的另一个选择是将每个事件推送到 $scope.eventSources[0].events 中,但这样做似乎不对。
我相信我想出了自己的问题。
我必须在 HTML 中使用日历属性的值(calendar = myCalendar
),并使用 uiCalendarConfig 引用它。它返回日历上所有事件的数组。我是角度的新手,对指令不太熟悉。
var myCalendar = uiCalendarConfig.calendars.myCalendar
myCalendar.fullCalendar('clientEvents', function(event) {
return event
});