2016-06-13 8 views
0

Ich benutze ui-Kalender. Ich muss den Server anrufen, um alle meine Ereignisse abzurufen, um sie in einem Kalender anzuzeigen.
Hier ist, was ich tue:Angularjs - ui-calendar: wie Ereignisse zu aktualisieren

Controller:

vm.propositionsToCome = PropositionsAffairePresentationToCome.get(function(result){ 
    for(var i = 0; i < result.length; i++) 
    { 
     $scope.events.push({title: 'test'+i,start: result[i].datePresentationPartenaire}); 
    } 
    $scope.eventSources = [$scope.events] 
    uiCalendarConfig.calendars['myCalendar'].fullCalendar('refreshEvents');  
    }); 

$scope.uiConfig = { 
     calendar:{ 
     height: 450, 
     editable: true, 
     header:{ 
      left: 'title', 
      center: '', 
      right: 'today prev,next' 
     }, 
     lang: 'fr' 
     }  
    }; 


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

HTML:

div class="calendar" ng-model="events" calendar="myCalendar" config="uiConfig.calendar" ui-calendar="uiConfig.calendar"></div> 

eventSources ist gut gefüllt, als ich es in der Ansicht angezeigt Ich erhalte:

[[{"title": "test0", "start": "2016-06-20T22: 00: 00.000Z", "_ id": 1}, {"titel": "test1", "start": "2016- 06-20T22: 00: 00.000Z "," _ id ": 2}]]

In meinem Kalender werden jedoch keine Ereignisse angezeigt. Ich weiß nicht, wie ich den Kalender aktualisieren soll, nachdem ich alle meine Ereignisse vom Server geladen habe.

Wie kann ich das tun?

Antwort

0

Ich benutze diese Funktion für sie:

function refreshEventsInCalendar() { 
 
     var arr = $scope.events.slice(0, $scope.events.length); 
 
     
 
     $scope.events.splice(0, $scope.events.length); 
 
     for(let i = 0; i < arr.length; i++) { 
 

 
      $scope.events.push(arr[i]); 
 
     } 
 
    }

+0

dieser Code nicht funktioniert –

Verwandte Themen