Detaillierte Erläuterung der Persistenz des Vue-Seitenstatus

Detaillierte Erläuterung der Persistenz des Vue-Seitenstatus

Voraussetzung : linker Baum und rechter Tisch. Nachdem Sie im Organisationsbaum einen Knoten ausgewählt haben, rufen Sie die Detailseite auf und lassen Sie ihn bei der Rückkehr ausgewählt. Auch andere Abfragebedingungen müssen ihren Status beibehalten.

Idee : Verwenden Sie vuex in Kombination mit localStorage zum Zwischenspeichern von Daten. Wenn auf einen Baumknoten oder eine Abfrageschaltfläche geklickt wird, werden die Daten in vuex und auch in localStorage gespeichert. Wenn die Seite zurückgesetzt wird, werden die Daten in localStorage in vuex übertragen. Im Seitencode wird ermittelt, ob in vuex gespeicherte Daten vorhanden sind. Wenn dies der Fall ist, werden diese direkt verwendet. Wenn nicht, werden standardmäßig die ursprünglichen Daten verwendet. Wenn die Seitennavigationsroute springt, werden die zwischengespeicherten Seitendaten gelöscht.

Code:

Wenn auf einen Baumknoten geklickt wird, wird die ID in Vuex gespeichert. Auslösen von Aktionen durch Versand

dies.$store.dispatch('SetDeviceFaultId', data.id)

Lösen Sie in den Aktionen von vuex die Methoden in Mutationen aus, indem Sie committen

RemoveDeviceFaultId({ commit }) { //commit('REMOVE_DEVICEFAULTID') wird später zum Löschen der Daten verwendet;
},
SetDeviceManageId({ commit }, id) {  
    commit('SET_DEVICEMANAGEID', id);
},

mutations : Daten ändern

REMOVE_DEVICEFAULTID: (Status) => {
      state.devicFaultId = null     
      Speicher.entfernen('devicFaultId');
},
SET_DEVICEMANAGEID: (Status, Geräteverwaltungs-ID) => {
      state.deviceManageId = Geräte-ManageId
      Speicher.set('deviceManageId', deviceManageId);
}

Status: Beim ersten Erstellen der Seite zwischengespeicherte Daten aus dem lokalen Speicher abrufen

devicFaultId: Storage.get('devicFaultId'),

Rufen Sie eine Detailseite auf und kehren Sie zurück

this.params.organizeId = this.$store.state.tree.devicFaultId ? this.$store.state.tree.devicFaultId : res.data[0].id;

Wenn Sie auf andere Routen klicken, denken Sie daran, die zwischengespeicherten Daten zu löschen

dies.$store.dispatch('RemoveDeviceFaultId')

Auffüllen:

storage.js -Code

Nachdem Sie es in vuex eingeführt haben, können Sie es über Storage.set verwenden

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • So implementieren Sie Datenpersistenz mit dem Vuex-Drittanbieterpaket
  • Ideen und Codes zur Implementierung der Vuex-Datenpersistenz
  • Vuex implementiert Datenzustandspersistenz
  • Das Vuex-Persistenz-Plugin (vuex-persistedstate) löst das Problem des Verschwindens von Aktualisierungsdaten
  • Implementierungscode für persistente Speicherdaten im Vue-Projekt

<<:  Detaillierte Erklärung verschiedener Bildformate wie JPG, GIF und PNG

>>:  Zusammenfassung der Blockelemente, Inline-Elemente und variablen Elemente

Artikel empfehlen

Lösung für das Timeout-Problem bei der Installation von Docker-Compose mit PIP

1: Installationsbefehl pip install docker-compose...

So erstellen Sie eine Testdatenbank mit zig Millionen Testdaten in MySQL

Manchmal müssen Sie basierend auf der offiziell v...

Einführung und Analyse von drei Binlog-Formaten in MySQL

eins. Einführung in das Mysql Binlog-Format Das M...

Implementierung der Änderung von Konfigurationsdateien im Docker-Container

1. Betreten Sie den Container docker run [Option]...

So platzieren Sie große Bilder auf kleinem Raum einer Webseite

Originalquelle: www.bamagazine.com Enge Bereiche ...

Zusammenfassung der Entwicklung benutzerdefinierter Vue 3-Richtlinien

Was ist eine Richtlinie? Sowohl Angular als auch ...

Detaillierte Erläuterung der praktischen Anwendung des HTML-Tabellenlayouts

Wann wird die Tabelle eingesetzt? Tabellen werden...

MySql-Entwicklung einer automatischen Synchronisierungstabellenstruktur

Schwachstellen bei der Entwicklung Während des En...

So rufen Sie das Kennwort für MySQL 8.0.22 auf dem Mac ab

Neueste Version von MySQL 8.0.22 zur Kennwortwied...

So beheben Sie den MySQL-Fehler 10061

In diesem Artikel erfahren Sie die Lösung für das...