Für 1.4: Wie im Kommentar hier und in anderen unten erwähnt, bietet Angulars native Cookie-Unterstützung ab 1.4 jetzt die Möglichkeit, Cookies zu bearbeiten:
Aufgrund von 38fbe3ee machen $ Cookies keine Eigenschaften mehr verfügbar, die die aktuellen Browser-Cookie-Werte darstellen. $ cookies fragt den Browser nicht mehr nach Änderungen an den Cookies ab und kopiert keine Cookie-Werte mehr auf das $ cookies-Objekt.
Dies wurde geändert, da die Abfrage teuer ist und Probleme mit den $ Cookies-Eigenschaften verursacht hat, die nicht korrekt mit den tatsächlichen Browser-Cookie-Werten synchronisiert wurden (Der Grund, warum die Abfrage ursprünglich hinzugefügt wurde, war, die Kommunikation zwischen verschiedenen Registerkarten zu ermöglichen, aber es gibt heute bessere Möglichkeiten, dies zu tun , zum Beispiel localStorage.)
Die neue API für $ Cookies lautet wie folgt:
get put getObject putObject getAll remove Sie müssen die oben genannten Methoden explizit anwenden, um auf Cookie-Daten zugreifen zu können. Dies bedeutet auch, dass Sie die Eigenschaften von $ -Cookies nicht mehr beobachten können, um Änderungen zu erkennen, die bei den Cookies des Browsers auftreten.
Diese Funktion wird im Allgemeinen nur benötigt, wenn eine Drittanbieter-Bibliothek die Cookies zur Laufzeit programmgesteuert geändert hat. Wenn Sie sich darauf verlassen, müssen Sie entweder Code schreiben, der auf die Bibliothek von Drittanbietern reagieren kann, die Änderungen an Cookies vornimmt, oder Ihren eigenen Abfragemechanismus implementieren.
Die eigentliche Implementierung erfolgt über ein $ cookiesProvider- Objekt, das über den put
Aufruf übergeben werden kann.
Für 1.3 und darunter: Für diejenigen unter Ihnen, die Ihr Bestes getan haben, um das Laden von jQuery-Plugins zu vermeiden, scheint dies ein guter Ersatz für Angular zu sein - https://github.com/ivpusic/angular-cookie