2017-10-17 1 views
0

Ich versuche, eine Woche Scheduler von Winkel ui Kalender zu bauen, aber ich halte den Fehler bekommen: ‚nicht Eigenschaft lesen kann‚Format‘von null‘ und keiner meiner Liste von Ereignissen zeigen. Alle Abhängigkeiten werden importiert und ich bin der ui-Kalender auf index.html erklärt wie folgt:Angular uiCalendar nicht redenring Ereignisse

<body ng-controller="MainCtrl"> 
<div class="row" on-load="renderCalendar('myCalendar');"> 
    <div class="col-md-4"> 
    <h1>All Events</h1> 
    <ul> 
     <li class="event" ng-repeat="event in eventSource"> 
     {{event.title}} 
     <button type="button" class="btn btn-danger" ng-click="removeEvent($index)"> delete</button> 
     </li> 
    </ul> 
    </div> 
    <div class="col-md-8"> 
    <div ui-calendar="uiConfig.calendar" ng-model="eventSource" calendar="myCalendar"></div> 
    </div> 
</div> 

Mein Winkelmodul declararion:

var app = angular.module('calendar-app', 
['ngResource', 
'ui.calendar'] 
); 

Der Kalender erscheint auf der Seite, aber keiner meiner hart codierte Ereignisse (Ereignisse werden in meinem Controller deklariert). Ich habe einen Plünderer dieses Scheduler hier: https://plnkr.co/edit/Plscx3IiZb5h9cE7Wdv6?p=preview

Ich habe viel zu verwandten Themen gesucht, konnte aber keine Arbeit zu diesem Problem finden. Wie kann ich diese Ereignisse richtig darstellen?

Antwort

0

Cannot read property "format" of null ist ein Fehler zu starten oder Endzeiten in Verbindung stehend - Fullcalendar versucht, Ihre Termine und andernfalls zu formatieren. Das ist, weil die Ereignisse in Ihrem Plunker als Javascript Date Objekte Start- und Enddatum angeben gezeigt:

{title: 'All Day Event',start: new Date(y, m, 6),allDay:true}, 

Das ist nicht das Format Fullcalendar erfordert - as the docs describe, müssen Sie verwenden:

A Moment-ish input, like an ISO8601 string.

Ein ISO8601 String sieht wie 2017-10-18 aus. Eine schnelle Lösung, wenn Sie kleben wollen Date mit der Verwendung von Javascripts verwenden toISOString():

{title: 'All Day Event', start: new Date(y, m, 6).toISOString(), allDay:true}, 

Sie können auch auf die Verwendung Moment wechseln, die von Fullcalendar erforderlich ist so bereits zur Verfügung:

{title: 'All Day Event', start: moment().date(6), allDay:true}, 
+0

Schließlich verändert meine Ereignisse Moment Eingaben verwenden ich den Fehler wurde immer von „Can Eigenschaft‚myCalendar‘undefinierten nicht lesen“: '

' , damit ich den ‚myCalendar‘ Verweis entfernt, da ich nur noch einen Kalender und keine erros auf Konsole aber die Ereignisse haben sind in meinem Kalender nicht sichtbar. Heres die resultierende plunkr: https://plnkr.co/edit/Plscx3IiZb5h9cE7Wdv6?p=preview –

+0

Ihr Plunker gar nicht für mich arbeiten, und 404s für verschiedenen JS-Libs auf der Konsole zeigt. Ich weiß nicht, Angular so kann man nicht mit dieser Seite der Dinge helfen - aber Ihre wichtigsten Events funktionieren, [siehe diese JSFiddle] (https://jsfiddle.net/w4Le1dqf/). –

+0

Ihr Recht! Auch ich benutzte eine alte Version des vollen Kalenders, der sich herausstellt, um eine Reihe von Problemen zu haben. Es funktioniert jetzt! Vielen Dank. –