Heim Web-Frontend View.js So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiert

So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiert

Dec 24, 2020 am 09:11 AM
vuex

Lösung für Datenverlust, wenn Vuex die Seite aktualisiert: 1. Speichern Sie die Daten in Vuex direkt im Browser-Cache. 2. Fordern Sie die Remote-Daten erneut an, wenn die Seite aktualisiert wird. 3. Aktualisieren Sie die Seite Speichern der Vuex-Daten in sessionStorage.

So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiert

Die Betriebsumgebung dieses Tutorials: Windows7-System, Vue-Version 2.0, DELL G3-Computer. Diese Methode ist für alle Computermarken geeignet.

Empfehlung: „vue Tutorial

1. Problembeschreibung:

Im Allgemeinen müssen Benutzerinformationen und Menüinformationen als globale gemeinsame Daten in Vuex abgelegt werden. Allerdings werden die Daten in vuex beim Aktualisieren der Seite neu initialisiert, was zu Datenverlust führt. Da die Daten in Vuex im laufenden Speicher gespeichert sind, lädt die Seite beim Aktualisieren der Seite die Vue-Instanz neu und die Daten in Vuex werden neu zugewiesen.

2. Lösungsidee:

Methode 1: Speichern Sie die Daten in vuex direkt im Browser-Cache (sessionStorage, localStorage, Cookie)

Methode 2: Fordern Sie die Remote-Daten erneut an, wenn die Seite aktualisiert wird, damit sie dynamisch aktualisiert wird data

Methode 3: Fordern Sie Remote-Daten aus dem Hintergrund auf der übergeordneten Seite an und speichern Sie die Vuex-Daten in sessionStorage, bevor Sie die Seite aktualisieren (falls die Menge der angeforderten Daten zu groß ist und die zurückgegebenen Daten nicht abgerufen werden können, wenn die Seite aktualisiert wird). geladen)

Analyse:

Der Nachteil von Methode eins besteht darin, dass sie unsicher und nicht zum Speichern großer Datenmengen geeignet ist.

Methode zwei eignet sich für kleine Datenmengen und verursacht keine Netzwerkverzögerungen steht im Mittelpunkt, Methode zwei und Methode gemeinsam verwenden.

3. Lösungsprozess:

3.1. Wählen Sie den entsprechenden Browserspeicher.

localStorage – er wird dauerhaft lokal gespeichert, es sei denn, Sie löschen ihn aktiv.

sessionStorage – er wird gespeichert, bis die aktuelle Seite geschlossen wird tabs Die Seite ist nicht verknüpft;

Cookie – wird gemäß der von Ihnen festgelegten gültigen Zeit gespeichert, der Nachteil besteht jedoch darin, dass keine großen Datenmengen gespeichert werden können und dass es nicht leicht zu lesen ist und mit dem Hintergrund interagiert.

Diese Methode wählt sessionStorage aus, weil es sich bei Vue um eine Einzelseitenanwendung handelt und alle Vorgänge Sprungrouten auf einer Seite sind. Ein weiterer Grund ist, dass sessionStorage sicherstellen kann, dass die Daten von sessionStorage leer sind geöffnet, und wenn es ist localStorage Die Daten der zuletzt geöffneten Seite werden gelesen.

3.2. Lösung

Da die Daten im Status reagieren, muss sich auch der SessionStorage-Speicher entsprechend ändern, und der Wert im Status kann nur durch Mutationen geändert werden.

Nachdem sich der Benutzer erfolgreich angemeldet hat, werden zunächst die Benutzerinformationen und Menüinformationen durch Aktionen verteilt und in vuex gespeichert. Berechnen Sie dann die Menüdaten des Status in Vuex auf der Menüseite, analysieren und fügen Sie die Daten in das für die Front-End-Komponente erforderliche Format zusammen und rendern Sie dann die Komponente, um einen Menübaum zu generieren. Wenn die Seite nicht aktualisiert wird, ist alles in Ordnung.

Nach erfolgreicher Anmeldung Benutzer- und Menüdaten mit vuex synchronisieren

So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiertÜberwachen Sie die Menüdaten in vuex auf der Menüseite

So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiertLösung für Seitenaktualisierung:

Hintergrunddaten asynchron anfordern, wenn die Seite aktualisiert wird, und dann dynamisch Beim Aktualisieren von Daten in Vuex kommt es unter anderem zu Netzwerkverzögerungen und einem großen Datenvolumen. Zu diesem Zeitpunkt wurde die Seite geladen, bevor vuex die vom Hintergrund zurückgegebenen Daten abrufen konnte, was zu Datenverlust führte. Die Lösung besteht also darin, das Pre-Refresh-Ereignis des Browsers abzuhören und die Daten in vuex in sessionStorage zu speichern, bevor der Browser aktualisiert wird. Wenn die asynchron angeforderten Daten nicht zurückgegeben wurden, werden die Daten in sessionStorage zurückgegeben Andernfalls werden die Daten in sessionStorage abgerufen. (Nur wenn die Hintergrunddaten nach der Aktualisierung nicht abgerufen wurden, werden sie aus sessionStorage abgerufen. Um die Sicherheit der Daten zu gewährleisten, ist sogar das Abrufen der Daten in sessionStorage sicher, da der Wert bei jeder Aktualisierung neu zugewiesen wird Es besteht kein Grund zur Sorge, dass die Daten manipuliert werden. Zweitens müssen die Daten im SessionStorage verschlüsselt werden.

Fordern Sie Daten aus dem Hintergrund auf der übergeordneten Seite an, hören Sie sich das Ereignis an, bevor der Browser aktualisiert wird, und speichern Sie die Vuex-Daten an sessionStorage

So lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiertFordern Sie Daten aus dem Hintergrund auf der übergeordneten Seite an und sie werden zurückgegeben. Die Daten werden an vuex verteilt

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des Datenverlusts, wenn vuex die Seite aktualisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT

Stock Market GPT

KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löse ich das Problem „Fehler: [vuex] unbekannter Aktionstyp: xxx' bei der Verwendung von vuex in einer Vue-Anwendung? Wie löse ich das Problem „Fehler: [vuex] unbekannter Aktionstyp: xxx' bei der Verwendung von vuex in einer Vue-Anwendung? Jun 25, 2023 pm 12:09 PM

In Vue.js-Projekten ist Vuex ein sehr nützliches Statusverwaltungstool. Es hilft uns, den Status zwischen mehreren Komponenten zu teilen und bietet eine zuverlässige Möglichkeit, Statusänderungen zu verwalten. Bei der Verwendung von vuex tritt jedoch manchmal der Fehler „Fehler:[vuex]unknownactiontype:xxx“ auf. In diesem Artikel werden die Ursache und Lösung dieses Fehlers erläutert. 1. Fehlerursache Bei der Verwendung von vuex müssen wir einige Aktionen und mu definieren

Wie kann das Problem „Fehler: [vuex] ändert den Vuex-Speicherstatus außerhalb von Mutationshandlern nicht' gelöst werden, wenn Vuex in einer Vue-Anwendung verwendet wird? Wie kann das Problem „Fehler: [vuex] ändert den Vuex-Speicherstatus außerhalb von Mutationshandlern nicht' gelöst werden, wenn Vuex in einer Vue-Anwendung verwendet wird? Jun 24, 2023 pm 07:04 PM

In Vue-Anwendungen ist die Verwendung von Vuex eine gängige Methode zur Zustandsverwaltung. Bei der Verwendung von vuex kann es jedoch manchmal zu einer Fehlermeldung kommen: „Fehler:[vuex]donotmutatevuexstorestateoutsidemutationhandlers“ Was bedeutet diese Fehlermeldung? Warum erscheint diese Fehlermeldung? Wie kann dieser Fehler behoben werden? In diesem Artikel wird dieses Problem ausführlich behandelt. Die Fehlermeldung enthält

Wie kann das Problem „TypeError: Eigenschaft ‚xxx' von undefiniert kann nicht gelesen werden' gelöst werden, wenn Vuex in einer Vue-Anwendung verwendet wird? Wie kann das Problem „TypeError: Eigenschaft ‚xxx' von undefiniert kann nicht gelesen werden' gelöst werden, wenn Vuex in einer Vue-Anwendung verwendet wird? Aug 18, 2023 pm 09:24 PM

Die Verwendung von Vuex in Vue-Anwendungen ist ein sehr häufiger Vorgang. Bei der Verwendung von Vuex wird jedoch gelegentlich die Fehlermeldung „TypeError: Cannotreadproperty'xxx'ofundefined“ angezeigt. Diese Fehlermeldung bedeutet, dass die undefinierte Eigenschaft „xxx“ nicht gelesen werden kann, was zu einem Programmfehler führt. Der Grund für dieses Problem liegt tatsächlich auf der Hand: Beim Aufrufen eines bestimmten Attributs von Vuex wird dieses Attribut nicht korrekt festgelegt.

Best Practices für die Verwendung von Vuex zur Verwaltung des globalen Status in Vue2.x Best Practices für die Verwendung von Vuex zur Verwaltung des globalen Status in Vue2.x Jun 09, 2023 pm 04:07 PM

Vue2.x ist derzeit eines der beliebtesten Front-End-Frameworks, das Vuex als Lösung für die Verwaltung des globalen Status bereitstellt. Durch die Verwendung von Vuex kann die Statusverwaltung klarer und einfacher zu warten sein. Im Folgenden werden die Best Practices von Vuex vorgestellt, um Entwicklern dabei zu helfen, Vuex besser zu nutzen und die Codequalität zu verbessern. 1. Verwenden Sie einen modularen Organisationsstatus, um alle Status der Anwendung zu verwalten und den Status aus den Komponenten zu extrahieren, wodurch die Statusverwaltung klarer und verständlicher wird. Bei Anwendungen mit vielen Zuständen müssen Module verwendet werden

So verwenden Sie Vuex in Vue3 So verwenden Sie Vuex in Vue3 May 14, 2023 pm 08:28 PM

Was macht Vuex? Vue-Beamter: Statusverwaltungstool Was ist Statusverwaltung? Der Status muss von mehreren Komponenten gemeinsam genutzt werden, und er reagiert. Sobald er sich ändert, ändert sich alles. Zum Beispiel einige global verwendete Statusinformationen: Benutzeranmeldestatus, Benutzername, geografische Standortinformationen, Artikel im Warenkorb usw. Derzeit benötigen wir ein solches Tool für die globale Statusverwaltung, und Vuex ist ein solches Tool. Einzelseiten-Statusverwaltung Ansicht–>Aktionen–>Status Ansichtsebene (Ansicht) löst Aktion (Aktion) aus, um den Status (Status) zu ändern, und reagiert zurück auf Ansichtsebene (Ansicht) vuex (Vue3.

Lassen Sie uns über die beiden Vue-Staatsverwaltungsbibliotheken Pinia und Vuex sprechen. Welche sollte ich verwenden? Lassen Sie uns über die beiden Vue-Staatsverwaltungsbibliotheken Pinia und Vuex sprechen. Welche sollte ich verwenden? Feb 15, 2023 pm 03:08 PM

In diesem Artikel geht es um die Vue-Zustandsverwaltung und es werden zwei Vue-Zustandsverwaltungsbibliotheken vorgestellt: Pinia und Vuex. Ich hoffe, dass er Ihnen weiterhilft!

Erfahren Sie mehr über die Implementierungsprinzipien von vuex Erfahren Sie mehr über die Implementierungsprinzipien von vuex Mar 20, 2023 pm 06:14 PM

Wie sollten Sie antworten, wenn Sie in einem Interview nach dem Implementierungsprinzip von vuex gefragt werden? Der folgende Artikel vermittelt Ihnen ein detailliertes Verständnis des Implementierungsprinzips von vuex. Ich hoffe, er wird Ihnen hilfreich sein!

So verwenden Sie Vuex in Vue3+Vite So verwenden Sie Vuex in Vue3+Vite Jun 03, 2023 am 09:10 AM

Spezifische Schritte: 1. Installieren Sie vuex (vue3 empfohlen 4.0+) pnpmivuex-S2, konfigurieren Sie die globale Konfiguration von importstorefrom'@/store'//hx-app in main.js constapp=createApp(App)app.use(store) 3 . Erstellen Sie hier neue verwandte Ordner und Dateien, um verschiedene Seiten und Dateien zu platzieren, und verwenden Sie stattdessen eine getters.jsindex.js-Kerndatei von

See all articles