更改事件源中的元素后,我无法更新 uiCalendar。
日历在模板中定义为:
<div ui-calendar="uiConfig.calendar" class="span8 calendar" ng-model="EC.calendarEvents" calendar="eventsCalendar"></div>
当我添加或删除元素时EC.calendarEvents
不会更新。
我已经尝试了以下所有语句来尝试在修改后刷新日历EC.calendarEvents
:
uiCalendarConfig.calendars['eventsCalendar'].fullCalendar('render');
uiCalendarConfig.calendars['eventsCalendar'].fullCalendar('rerenderEvents');
uiCalendarConfig.calendars['eventsCalendar'].fullCalendar('refetchEvents');
我还尝试删除并重新添加源:
uiCalendarConfig.calendars['eventsCalendar'].fullCalendar('removeEvents');
uiCalendarConfig.calendars['eventsCalendar'].fullCalendar('addEventSource', $scope.EC.calendarEvents);
但这只会导致控制台中出现以下错误:
TypeError: Cannot read property 'hasTime' of undefined
该错误发生在normalizeEventTimes
第 12272 行函数的 fullcalendar.js 中。
错误行是:
eventProps.allDay = !(eventProps.start.hasTime() || (eventProps.end && eventProps.end.hasTime()));
在这篇文章中,他们建议保持对数组的相同引用并将事件推入和推出:AngularJS UI-calendar not updates events on Calendar
我也试过这个,但没有任何区别。