Vue Storage enthält eine Lösung für Boolesche Werte

Vue Storage enthält eine Lösung für Boolesche Werte

Vue speichert Speicher mit Booleschen Werten

Ich bin heute auf ein Problem gestoßen. Ich musste die vom Hintergrund zurückgegebenen wahren und falschen Werte im Speicher speichern und dann die gespeicherten Werte für logische Urteile verwenden. Die Urteile waren jedoch immer falsch. Nachdem ich die Informationen überprüft hatte, fand ich

Beim Speichern von Daten im lokalen Speicher werden die gespeicherten Booleschen Werte zu Zeichenfolgen anstelle der ursprünglich gespeicherten Booleschen Werte.

Bildbeschreibung hier einfügen

Alles in Saiten verwandelt

Wie kann man das Problem also lösen?

1: Eine Konvertierung wird am Frontend durchgeführt

wenn (localStorage.getItem('boolean') == 'true') {
		// Weisen Sie den neuen Wert 'Boolescher Wert' = true zu
}

Oder verwenden Sie beim Speichern keine Booleschen Werte zum Speichern, sondern stattdessen Zahlen oder andere Werte und treffen Sie dann die Entscheidung.

// Der vom Hintergrund zurückgegebene Wert ist true
wenn (wahr) {
	localStorage.setItem('Boolean', 1)
}anders {
	localStorage.setItem('boolean', 2)
}
// Bei Bedarf if (localStorage.getItem('Boolean value') == 1) {
	// Behandeln Sie das Ereignis }else {
	// Behandeln Sie das Ereignis}

Eine Falle beim Speichern von Booleschen Werten im lokalen Speicher

Problembeschreibung

Ich habe vor Kurzem LocalStorage verwendet, um bei der Arbeit einige gemeinsam genutzte Variablen zu speichern, bin dabei aber auf viele Probleme gestoßen, als ich Boolesche Werte gespeichert habe.

Der Zugang erfolgt grundsätzlich wie folgt:

localstorage.setItem('key', value);//speichern localstorage.getItem('key');//abrufen

Da jedoch beim Speichern Boolescher Daten die im lokalen Speicher gespeicherten Booleschen Daten in Zeichenfolgen konvertiert werden, werden "true"=true und "false"==false, "true"==false alle als false angezeigt, was zu vielen Versuchen führt, ohne das Problem zu finden.

Endgültige Lösung

Wenn Localstorage oder Sessionstorage Boolesche Daten speichert, werden die erhaltenen Daten zu den Zeichenfolgen „true“ und „false“. Es wird empfohlen, beim Speichern dieser Art von Daten den Wert auf 0 oder 1 zu setzen und beim Abrufen des Werts die Nummer (localstorage.getItem („Schlüssel“)) zu verwenden und dann nachfolgende Beurteilungsvorgänge durchzuführen.

Der spezifische Code lautet wie folgt:

Gespeicherter Wert:

wenn (dies.istGeprüft) {
      //0: aktiviert
      localStorage.setItem("aktiviert",0);
} anders {
       //1: nicht aktiviert
       localStorage.setItem("aktiviert",1);
}

Wert:

getFlag:Funktion(){
    var flag = Zahl (localStorage.getItem ('aktiviert'));
    wenn(flag==0){
         dies.flag=wahr;
     }sonst wenn(flag==1){
          dies.flag=false;
     }
}

Zusammenfassen:

Sowohl localStorage als auch sessionStorage können nur String-Objekte speichern, aber keine Arrays oder Objekte, die üblicherweise in JS verwendet werden, direkt speichern.

Sie können die vom JSON-Objekt bereitgestellten Methoden „Parse“ und „Stringify“ verwenden, um andere Datentypen in Zeichenfolgen zu konvertieren und diese dann im Speicher zu speichern.

Der Code lautet wie folgt:

Gespeicherter Wert:

localStorage.setItem("flag_data",JSON.stringify(flagData));

Wert:

var flag_data = JSON.parse(localStorage.getItem("flag_data"));

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • So überwachen Sie Änderungen in localStorage oder sessionStorage in einem Vue-Projekt
  • Vue basierend auf localStorage Speicherinformationen Codebeispiel
  • Vue verwendet Localstorage zur Implementierung von Breadcrumbs
  • Vue verwendet den lokalen Cache von localStorage, um die Funktion zum Aktualisieren des Bestätigungscodes ohne Löschen zu implementieren
  • So machen Sie localStorage in Vue reaktionsfähig (Gedankenexperiment)
  • Suchfeld-Suchinhalt basierend auf Vue sessionStorage beibehalten

<<:  Einführung in die Eigenschaften von B-Tree

>>:  Einführung in den B-Tree-Einfügeprozess

Artikel empfehlen

Einführung mehrerer benutzerdefinierter Schriftarten in CSS3

Heute habe ich ein Problem in HTML gefunden. Es s...

Verwendung der VUE-Renderfunktion und ausführliche Erklärung

Inhaltsverzeichnis Vorwort Die Rolle des Renders ...

Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation

Die Trennung von Lese- und Schreibzugriffen in Da...

XHTML-Einführungstutorial: Verwendung von Listen-Tags

Listen werden verwendet, um eine Reihe ähnlicher o...

Detailliertes Beispiel für Zeilensperren in MySQL

Vorwort Sperren sind Synchronisierungsmechanismen...

Strategie zur Optimierung der Leistung von MySQL-Datenbankabfragen

Optimieren von Abfragen Verwenden der Explain-Anw...

Ubuntu-Terminal, mehrere Fenster, geteilter Bildschirm, Terminator

1. Installation Das größte Feature von Terminator...

Fünf Möglichkeiten zur Implementierung der Vererbung in js

Ausleihen von Konstruktoren Die Grundidee dieser ...

Vue implementiert einen einfachen Lupeneffekt

In diesem Artikelbeispiel wird der spezifische Co...

Installationsprozess des mysql5.6.8-Quellcodes

Kernel: [root@opop ~]# cat /etc/centos-release Ce...