Ich bin mir also etwas unsicher, wie ich meine Kalenderereignisse mit fullcalendar strukturieren soll. Wenn meine App geladen wird, füge ich derzeit ein json-Ereignisobjekt in den Hauptteil meiner Seite ein, sodass ich den vollständigen Kalender schnell und ohne Ajax-Aufruf initialisieren kann. Bei allen nachfolgenden Änderungen der Monatsansicht möchte ich eine Ajax-Anfrage mit dem angegebenen Monat als Argument senden, damit ich die Ereignisse dieses Monats abrufen kann. Wie würde ich vorgehen? Ist das die LazyLoad-Funktion? Wie kann ich den Kalender dazu bringen, die lokalen Ereignisdaten zu verwenden, wenn er anfänglich angezeigt wird, aber dann Ajax-Anforderungen für alle nachfolgenden Monate verwenden?
Vollkalender-Ereignisse werden geladen, wenn sich der Monat ändert
Greg
Bitte beachten Sie, dass in der neuesten Version viewDisplay durch viewRender ersetzt wurde
Hier erfahren Sie, wie Sie es verwenden
Ich benutze es so
viewRender: function (view, element) {
}
So erhalten Sie das Start- und Enddatum. Ansicht.Start, Ansicht.Ende
-
Funktioniert super! tks!
– David Toledo
14. Oktober 2019 um 20:32 Uhr
versuche mal die docs zu lesen, Veranstaltungen (als json-Feed)
Eine andere Option ist das erneute Abrufen / Rendern von Ereignissen, wenn sich das Datum geändert hat AnsichtAnzeige
Wenn der json-Feed (erwähnt von zlosim) für Ihr Ajax nicht auszureichen scheint, können Sie dies auch tun
- verwenden https://fullcalendar.io/docs/events-function die immer dann aufgerufen wird, wenn neue Daten benötigt werden. Dadurch werden die Daten jedoch anscheinend intern zwischengespeichert und die Ereignisse für einen Tag werden nicht zweimal angefordert. Außerdem ist das zurückgegebene Objekt nicht reaktiv, scheint geklont zu sein.
- Verwenden Sie ein einfaches Array für Ereignisse, aber übergeben Sie a
datesRender
zurückrufen: https://fullcalendar.io/docs/datesRender Sie können dann Ihr Ereignisarray entsprechend ändern. Dies wird jedes Mal aufgerufen, wenn sich die sichtbaren Daten ohne Zwischenspeicherung ändern.
Der Weg des geringsten Widerstands ist wahrscheinlich 100% Ajax
– charlietfl
29. März 2012 um 19:23 Uhr
Das habe ich letztendlich getan. Ursprünglich wollte ich die App booten, um sie reaktionsschneller zu machen, aber dadurch wurde der vollständige Kalender erst gerendert, wenn alle Ereignisse gerendert waren. Der von Ihnen vorgeschlagene Wechsel zur Ajax-Lösung hatte die unbeabsichtigte Folge, dass der Kalender sofort gerendert und dann die Ereignisse angezeigt wurden, wenn sie verfügbar waren. Dies ergibt eine besser wahrgenommene Leistung, was meiner Meinung nach auch ein Gewinn ist. Danke für den Vorschlag.
– Greg
2. April 2012 um 18:00 Uhr