Analyse des Problems des Datenverlusts durch erzwungene Aktualisierung von Vuex

Analyse des Problems des Datenverlusts durch erzwungene Aktualisierung von Vuex

vuex-persistenter Zustand

  1. Kernprinzip: Alle Vuex-Daten im lokalen Speicher speichern, beim Aktualisieren der Seite Daten aus dem Cache abrufen und in Vuex einfügen
  2. Herunterladen: $ npm install vuex-persistedstate -S
  3. Einführung von Plugins in den Store
importiere persistenten Status von „vuex-persistedstate“
const store = neuer Vuex.Store({
  // ...
  Plugins: [persistedState()]
})

vuex-persistedstate verwendet standardmäßig localStorage zur Speicherung. Wenn Sie sessionStorage verwenden möchten, können Sie die folgende Konfiguration verwenden

importiere persistenten Status von „vuex-persistedstate“
const store = neuer Vuex.Store({
  // ...
  Plugins: [persistierter Status ({
      Speicher: window.sessionStorage
  })]
})
  • Wenn Sie Cookies verwenden möchten, können Sie die folgenden Einstellungen verwenden
  • Herunterladen: $ npm install js-cookie -S
Cookies von „js-cookie“ importieren;
importiere persistenten Status von „vuex-persistedstate“
const store = neuer Vuex.Store({
  // ...
  Plugins: [persistierter Status ({
      Lagerung:
		getItem: Schlüssel => Cookies.get(Schlüssel),
		setItem: (Schlüssel, Wert) => Cookies.set(Schlüssel, Wert),
		removeItem: Schlüssel => Cookies.remove(Schlüssel)
	}
  })]
})

sicher-ls

  • Verschlüsselter Speicher
  • Wenn wir Benutzerinformationen in vuex speichern, ist die Verwendung zwar viel bequemer, aber um das Problem des Datenverlusts beim Aktualisieren der Seite durch vuex zu lösen, verwenden wir das Plug-In vuex-persistedstate . vuex-persistedstate ist nicht verschlüsselt und die Benutzerinformationen werden im Cache angezeigt.
  • Es ist sehr unsicher, daher müssen Sie secure-ls verwenden, um den Speicher zu verschlüsseln.
  • Herunterladen: $ npm install secure-ls -S
importiere Vue von „vue“;
importiere Vuex von „vuex“;
importiere SecureLS von „secure-ls“;
importiere persistenten Status von „vuex-persistedstate“;

const ls = neues SecureLS({
	encodingType: "aes", // Verschlüsselungsmethode isCompression: false, // ob die Datenkomprimierung aktiviert werden soll encryptionSecret: "old-beauty" // 
});

Vue.use(Vuex);

exportiere standardmäßig neuen Vuex.Store({
	...
	Plugins: [persistedState({
		// Schlüssel: „123123“, // im Speicher zu speichernder Schlüssel
		Lagerung:
			getItem: Schlüssel => ls.get(Schlüssel),
			setItem: (Schlüssel, Wert) => ls.set(Schlüssel, Wert),
			removeItem: Schlüssel => ls.remove(Schlüssel)
		}
	})],
});

[Hinweis] vuex-persist(不兼容ie) vuex-persistedstate

Dies ist das Ende dieses Artikels über erzwungenen Datenverlust bei Vuex. Weitere relevante Inhalte zum Thema Datenverlust bei Vuex finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So gehen Daten nach der Aktualisierung der Vuex-Seite verloren
  • Lösung zum Aktualisieren von Datenverlusten, wenn Vuex komplexe Parameter speichert (z. B. Objekt-Arrays usw.)
  • Lösung für Datenverlust durch Vuex-Seitenaktualisierung
  • Lösung für Datenverlust nach Vuex-Aktualisierung
  • Vier Lösungen für das Problem des Datenverlusts beim Aktualisieren von Vuex-Seiten

<<:  MySQL führt SQL-Datei aus und meldet Fehler Fehler: Unbekannte Speicher-Engine „InnoDB“-Lösung

>>:  Anpassungsmethode des Linux-Peripheriedateisystems

Artikel empfehlen

Was soll ich tun, wenn ich die Quelldatei einer Webseite nicht anzeigen kann?

F: Wenn Sie Outlook oder IE verwenden, wird beim ...

Beispielcode für Nginx zur Erreichung dynamischer und statischer Trennung

1. Einfache Konfiguration der dynamischen und sta...

So erstellen Sie ein neues Image basierend auf einem vorhandenen Image in Docker

Das Erstellen neuer Images aus vorhandenen Images...

So verwenden Sie die Shell, um Batchvorgänge auf mehreren Servern auszuführen

Inhaltsverzeichnis SSH-Protokoll SSH Verbindungsp...

Teilen Sie die Fallstricke von MySQLs current_timestamp und ihre Lösungen

Inhaltsverzeichnis MySQLs current_timestamp-Falle...

Lösung zur Installation von OpenCV 3.2.0 in Ubuntu 18.04

Laden Sie opencv.zip herunter Installieren Sie di...

Einführung in Spark und Vergleich mit Hadoop

Inhaltsverzeichnis 1. Spark vs. Hadoop 1.1 Nachte...

So verwenden Sie Docker, um Containerressourcen zu begrenzen

Problem beim Gucken Angenommen, der IIS-Dienst st...

MySQL berechnet die Anzahl der Tage, Monate und Jahre zwischen zwei Daten

Die in MySQL integrierte Datumsfunktion TIMESTAMP...

Linux verwendet stty zum Anzeigen und Ändern von Terminalzeileneinstellungen

Sttty ist ein gängiger Befehl zum Ändern und Druc...

Automatisiertes Frontend-Deployment basierend auf Docker, Nginx und Jenkins

Inhaltsverzeichnis Vorbereitende Vorbereitung Ber...