local storage auch bei Veränderungen aktuell halten #49
-
Hallo! Ich speichere aktuell die Todos im local storage, damit der User den Stand seiner Aufgaben (erledigt/nicht erledigt) auch nach dem aktualisieren oder neu öffnen der Website zur Verfügung hat. Mit dem neuen Feature, dass der User automatisch seine täglichen und zum Wochentag passenden Aufgaben angezeigt bekommt funktioniert der local storage wie vorher verwendet nicht mehr, da die Seite auf Grund des local storage trotzdem noch die Aufgaben vom Vortag anzeigt. Ich muss den local storage händisch im Browser leeren um das gewünschte Object angezeigt zu bekommen.
Die Funktion zum Anzeigen des jeweils richtigen Tages:
localstorage.js
und nochmal die ganze DailyTasks.js
Das Schreiben in den local storage, so wie es aktuell ist, bereitet mir grundsätzlich Probleme, da ich bei Änderungen an der Website immer erstmal den local storage leeren muss, damit diese sichtbar werden. Hier gehts zum aktuellen Pull Request. Ich freue mich sehr über eure Vorschläge und bedanke mich für eure Zeit! :) |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hallo Alice, |
Beta Was this translation helpful? Give feedback.
-
Hi Alice, Eine Lösung wäre, die Todos mit dem aktuellen Datum als Die bessere Alternative wäre, deine Todos in einer MongoDB zu speichern (auch mit dem aktuellen Datum als Kenner) und analog zum localStorage zu prüfen, ob es einen Datensatz für das aktuelle Datum gibt - falls nicht, den entsprechend anzulegen. |
Beta Was this translation helpful? Give feedback.
Hi Alice,
Du hast über Deinen key
todos
immer nur ein Set bzw. Array von Todos im localStorage gespeichert, das tägliche Todos enthält (weekday: "all"
) und Todos für einen bestimmten Wochentag (zb.weekday: 4
) - unabhängig vom tatsächlichen Datum. Hier liegt das Problem: Wenn Du nun Todos alsdone
markierst und wieder im localStorage speicherst, sind diese ja auch schon für den nächsten Tag (im Fall von täglichen Todos) als erledigt markiert...Eine Lösung wäre, die Todos mit dem aktuellen Datum als
key
zu speichern und bei jedem Auslesen des localStorage zu prüfen, ob derkey
noch dem aktuellen Datum entspricht - falls das nicht (mehr) zutrifft, legst Du wieder ein neues Set für das aktu…