Das JavaScript scheint ziemlich einfach zu sein, nur localStorage.clear ().
Gibt es etwas Ähnliches für den Backbone-Localspeicher, und wenn nicht, kann mir jemand in die richtige Richtung zeigen, wie es geht.
Ich habe darüber nachgedacht, so etwas zu tun:
localStorage.each (localStorage.delete (this))
außer das würde nicht auf dieses Element zeigen, oder?
Es gibt nur wenige Möglichkeiten, dies aus der Sammlung heraus zu tun, aber wie auch immer Sie sich entscheiden, Sie müssen bei jedem Modell den Befehl destroy aufrufen, der die Synchronisierung sowohl auf der Client- als auch auf der Serverseite ausführt (was localStorage ausführt) wie).
%Vor%Aktualisieren
Pro Kommentar sieht das nicht mehr so aus. Da dies immer noch als Antwort markiert ist, einschließlich der Antwort, die unten funktionieren sollte, pro skcin7
.
Ich weiß, dass sich diese Art von Graben graben mag, aber ich habe schon eine Weile nach einer Lösung gesucht und keine der obigen Schnipsel schien für mich zu funktionieren. Ich habe immer die Größe der Sammlung um die Hälfte verringert, egal wie ich es probiert habe.
Nach einer ordentlichen Menge an Fiedeln, kam ich auf diese Idee:
%Vor%Backbone entfernt Gegenstände "im laufenden Betrieb". Wenn Sie also 40 Gegenstände haben, können Sie den 21. Gegenstand nicht löschen, da nur noch 20 Gegenstände übrig sind. Seltsamerweise scheint dies auch die collection.each () Funktion zu beeinflussen, die mir wirklich wie ein Fehler erscheint.
Das Iterieren über die Sammlung und das Aufrufen von destroy auf jedem Element ist in keinem Fall sicher. Der Grund dafür ist, dass das Iterieren über die gleichzeitig geänderte Sammlung zu unerwarteten Ergebnissen führen kann.
Es ist besser, zuerst die Sammlung zu klonen und über diesen Klon zu iterieren. Checkout dies führt nicht zu einer fehlerfreien Sammlung für weitere Details
Beispiel:
%Vor%Tags und Links backbone.js local-storage clear