簡體   English   中英

AngularJS UI日歷事件源未更新

[英]AngularJS UI-calendar eventSources not updated

拖放事件后,AngularJS UI日歷不會更新$ scope.eventSources數據模型。 我需要獲取更新的模型,但沒有任何效果。

我嘗試了很多事情,沒有任何效果。

這是我的代碼:

    /* config object */
        $scope.uiConfig = {
          calendar:{
            height: 600,
            editable: true,
            header:{
              left: 'month basicWeek basicDay agendaWeek agendaDay',
              center: 'title',
              right: 'today prev,next'
            },
            eventClick: $scope.alertEventOnClick,
            eventDrop: $scope.alertOnDrop,
            eventResize: $scope.alertOnResize,
            eventRender: function (event, element) {

                if (event.HighPriority == 1) {
                   event.className ='highPriority';
                }

            }

          }
        }; 

    /* load events source that contains custom events on the scope */
        $scope.events = agendaFactoryLocalStorage.getAgenda();

        $scope.eventSources = [$scope.events];

$scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){
   $scope.alertMessage = ('Event Droped to make dayDelta ' + delta);
    uiCalendarConfig.calendars.exampleCalendar.fullCalendar('removeEvents');
    uiCalendarConfig.calendars.myCalendar.fullCalendar('refetchEvents');
});

$scope.save_agenda = function(){
        agendaFactoryLocalStorage.updateAgenda($scope.eventSources);
}

$ scope.save_agenda仍然發送相同的數據模型,盡管我拖放了1個事件,但我真的不知道該怎么辦,因為3個小時以來一直停滯不前。 $ scope.eventSources可以正確加載,但是拖放並不會改變模型,只有'event'變量被更新了,但是它是唯一的,我試圖將其推入$ scope.eventSources里面沒有運氣。

好吧,我發現了一些可能起作用的東西,它在拖動事件后現在可以正確更新$ scope.eventSources:

$scope.alertOnDrop = function(event, delta, revertFunc, jsEvent, ui, view){
                 $scope.alertMessage = ('Event Droped to make dayDelta ' + delta); 
                 $scope.eventSources[0][1].start = event.start.format();
    };

它正在用拖動的日期值更新舊的日期值,但我仍然必須每次都獲取正確的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM