Vue speichert Speicher mit Booleschen WertenIch 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. Alles in Saiten verwandelt Wie kann man das Problem also lösen? 1: Eine Konvertierung wird am Frontend durchgeführtwenn (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 SpeicherProblembeschreibungIch 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ösungWenn 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:
|
<<: Einführung in die Eigenschaften von B-Tree
>>: Einführung in den B-Tree-Einfügeprozess
Heute habe ich ein Problem in HTML gefunden. Es s...
Inhaltsverzeichnis Vorwort Die Rolle des Renders ...
Inhaltsverzeichnis Vorwort 1. Installieren Sie da...
Schauen wir uns zunächst den Code an <form id=...
Die Trennung von Lese- und Schreibzugriffen in Da...
Erstellen einer Tabelle CREATE TABLE `map` ( `id`...
Listen werden verwendet, um eine Reihe ähnlicher o...
Vorwort Sperren sind Synchronisierungsmechanismen...
Optimieren von Abfragen Verwenden der Explain-Anw...
Vorwort In letzter Zeit haben viele neue Kollegen...
1. Installation Das größte Feature von Terminator...
Ausleihen von Konstruktoren Die Grundidee dieser ...
Vorwort Die Benachrichtigungsleistenkomponente is...
In diesem Artikelbeispiel wird der spezifische Co...
Kernel: [root@opop ~]# cat /etc/centos-release Ce...