Heim Web-Frontend js-Tutorial Durch das Aktualisieren der Seite verschwinden die Vuex-Daten nicht und die Seite springt nicht (ausführliches Tutorial).

Durch das Aktualisieren der Seite verschwinden die Vuex-Daten nicht und die Seite springt nicht (ausführliches Tutorial).

Jun 08, 2018 pm 05:55 PM
vuex

Dieser Artikel stellt hauptsächlich die detaillierte Lösung zum Aktualisieren der Vuex-Daten der Seite vor, ohne zu verschwinden und nicht zur Seite zu springen. Jetzt teile ich sie mit Ihnen und gebe sie als Referenz.

Lassen Sie mich zuerst etwas sagen

Vuex hat eine Weile an der Routing-Abhörfunktion herumgebastelt, und ich bin endlich hier, um es zuerst zu teilen Lassen Sie mich zunächst sagen, dass es keine grundlegende Einführung gibt, indem Sie die Methode zum Speichern von SessionStorage im Anmeldestatus verwenden!!! >Aktualisieren

Im Gegensatz zum Neustart des Projekts werden die zuvor erhaltenen Daten nur vorübergehend über den Speicher gespeichert und verschwinden, wenn das Projekt geschlossen wird. Dies ähnelt einem Neustart des Computers und der darin gespeicherten Daten RAM wird verschwinden. Aber die in Sessionstorage, Localstorage und Cookies gespeicherten Inhalte verschwinden nicht.

Vuex

Methoden und Ideen

Zuerst Alle, die mit Vuex vertraut sind, stellen auf der offiziellen Website vor, dass Vuex ein speziell für Vue.js-Anwendungen entwickeltes Statusverwaltungsmodell ist. Das heißt, die Daten im Store in Vuex sind temporär und stellen einige Variablen dar, wenn die Seite aktualisiert und neu geladen wird , alles wird gelöscht, und es gab keine zweite Anmeldung auf der Seite, der Vuex war immer leer, daher wurden mehrere Methoden abgeleitet

1 Aktualisieren Sie die Seite, weil sessionstorage (die Seite verschwindet, wenn Schließen der Seite), Localstorage und Cookie. Die Daten verschwinden nicht, sodass Sie alle angeforderten Daten darin speichern und bei Verwendung abrufen können

2. Verwenden Sie das Vuex-Plug-In

3. Geben Sie beim Anmelden das Token und den Anmeldestatus ein (Benutzerdefiniert). Weisen Sie Sessionstorage einen Wert zu. Wenn Sie die Seite aktualisieren (Routensprung), rufen Sie das Token und den Anmeldestatus von Sessionstorage ab und weisen Sie es dem Store zu - Fordern Sie die Daten der entsprechenden Seite an

Nachdem ich darüber nachgedacht habe, habe ich mich für Methode 3 entschieden, aber diese Methode muss mit Routing-Abfangen kombiniert werden. Nachdem das Routing abgeschlossen ist, posten Sie den Code

Code

Index

Aktionen

// 登录
 Login({ commit, state }, userInfo) {
  return new Promise((resolve, reject) => {
   login(userInfo).then(response => {
    let token = response.data.token;
    commit('SET_TOKEN', token);
    sessionStorage.setItem('token', token);  //获取到新的token的时候赋值给sessionStorage

    commit('SET_ISLOGIN', true);  // 登录成功修改store中的登录状态
    resolve()
   }).catch(error => {
    reject(error)
   })
  })
 },
Nach dem Login kopieren

Routing

Eine kurze Einführung: Route Das Abfangen entspricht dem „Lebenszyklus“ der Route. Sie können hier Folgendes tun: Was möchten Sie dieses Mal nur tun, bevor die Route springt? Verwenden Sie einfach router.beforeEach((to, from, next) => { // ... } Der spezifische Inhalt ist auf der offiziellen Website sehr detailliert

main.js

router.beforeEach((to, from, next) => {
 let isLogin = sessionStorage.getItem('isLogin');
 let token = sessionStorage.getItem('token');
 let id = sessionStorage.getItem('id');
 if (to.meta.requireAuth) {  // 判断是否有权限
  if (!store.state.isLogin && !isLogin && to.path !== '/login') {  // store和sessionStorage中登录状态都为false并且跳转到 不是登录的页面时 都强行跳转到登录页面  
   next({
    path: '/login',
   });
  } else if (!isLogin && to.path !== '/login') {  // 已经在登录页面进入首页的时候
   sessionStorage.setItem('isLogin', store.state.isLogin);
   next();
  } else if (isLogin && to.path !== '/login') {  // 登录进入后刷新页面时
   store.commit('SET_TOKEN', token);
   store.commit('SET_ISLOGIN', isLogin);
   store.commit('SET_ID', id);
   next();
  } else {
   next();
  }
 }
 else {
  next();
 }
});
Nach dem Login kopieren
pits

1. Ich habe das Routing-Interception in die Datei main.js geschrieben, seien Sie also vorsichtig. Es sollte über dem Vue-Mount (neues Vue) geschrieben werden

2. Wenn Sie auf „Anmelden“ klicken, wird das Die Anmeldemethode in Aktionen sollte früher sein als das Abfangen der Route

3. Vergessen Sie beim Abmelden nicht, die Variablen in sessionStorage zu löschen

Ich habe das Obige für Sie zusammengestellt und hoffe, dass es hilfreich ist Dich in der Zukunft.

Verwandte Artikel:



So rufen Sie JSON mit js auf

Verwenden Sie GM-Zuschneiden in zusammengesetzten Bildern unter Nodejs

Tutorial zur Verwendung von Babel zur Installation und Konfiguration

Das obige ist der detaillierte Inhalt vonDurch das Aktualisieren der Seite verschwinden die Vuex-Daten nicht und die Seite springt nicht (ausführliches Tutorial).. 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

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1665
14
PHP-Tutorial
1270
29
C#-Tutorial
1249
24
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

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

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.

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.

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

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!

See all articles