我对AngularJS Ui-Calendar :
有这个问题在fullcalendar的select回调函数中,我通过拖动创建事件,事件在添加到我的events数组之后。
创建事件后我想删除其中的一些,因此我添加了一个按钮,删除,即从Ui-CalendarCalendar调用remove函数。功能如下:
function eventRenderFn(event, element, view) {
element.find(".fc-content").prepend("<button class='closeon btn btn-danger pull-right'>Delete</button>");
element.find(".closeon").on('click', function() {
removeEventById(event);
});
}
问题是,在我删除某个事件后,即使该事件已从事件数组中删除,该事件仍会显示在日历上。
我尝试在remove函数中添加以下代码来重新渲染事件,但这并没有解决我的问题,因为它只是在第一次删除事件时重新渲染。代码如下:
uiCalendarConfig.calendars.myCalendar.fullCalendar('removeEvents');
uiCalendarConfig.calendars.myCalendar.fullCalendar('addEventSource', $scope.events);
我一直试图找到解决该问题的解决方案2天了。
感谢您的时间。
修改
我的删除功能是:
function removeEventById(event) {
angular.forEach($scope.events, function (value, key) {
if (event._id === value._id) {
$scope.remove(key);
}
});
}
$ scope.remove(key)的位置是:
$scope.remove = function(index) {
$scope.events.splice(index, 1);
};