Heim  >  Artikel  >  Web-Frontend  >  Die Vue-Routing-Switch-Route wird nicht aktualisiert

Die Vue-Routing-Switch-Route wird nicht aktualisiert

WBOY
WBOYOriginal
2023-05-24 09:03:366639Durchsuche

In der Vue-Entwicklung ist Routing ein sehr wichtiges Konzept. Es kann uns dabei helfen, Seiten zu wechseln und den Status verschiedener Seiten einfach zu verwalten. Bei Verwendung von Vue-Routing wird die Seite manchmal nicht aktualisiert, wenn das Routing umgeschaltet wird. In diesem Artikel wird dieses Problem unter verschiedenen Aspekten untersucht.

1. Übersicht über Routing

In Vue ist Routing ein sehr wichtiges Konzept. Routing bezieht sich auf den Pfad oder Link, der beim Wechseln zwischen Seiten verwendet wird. Durch die Definition von Routen in Vue-Komponenten können wir Seitenwechsel und Statusverwaltung implementieren. Die Vorgänge zur Verwendung von Routing in Vue basieren im Wesentlichen auf dem Vue Router-Plug-In.

2. Routenaktualisierungsproblem

Bei der Vue-Entwicklung kommt es manchmal vor, dass die Seite beim Routenwechsel nicht aktualisiert wird. Dies führt dazu, dass die Daten auf der Seite nicht aktualisiert werden und somit die normale Anzeige der Seite beeinträchtigt wird. Warum passiert das? Wir können es unter folgenden Aspekten diskutieren.

1. Browser-Cache

Browser-Cache bedeutet, dass der Browser beim Besuch einer Website automatisch einige Daten zwischenspeichert, damit die Seite beim nächsten Besuch schneller geladen werden kann. Wenn wir dieselbe Seite besuchen, liest der Browser die Daten aus dem Cache, anstatt sie erneut vom Server abzurufen. Dies führt dazu, dass die Daten auf der Seite nicht aktualisiert und nicht aktualisiert werden.

Um diese Situation zu vermeiden, können wir die folgende Methode verwenden:

Legen Sie beim Routenwechsel eine eindeutige Cache-Zeit für jede Route fest. Dadurch kann sichergestellt werden, dass die Daten bei jedem Besuch erneut abgerufen werden können, anstatt über den Browser . Daten aus dem Cache lesen.

2.Keep-Alive

Es gibt auch eine Keep-Alive-Komponente in Vue, die uns dabei helfen kann, Komponenteninstanzen zwischenzuspeichern und zwischengespeicherte Komponenten bei Bedarf erneut zu rendern. Wenn die Keep-Alive-Komponente beim Routenwechsel verwendet wird und die Cache-Zeit nicht festgelegt ist, wird die Komponente beim Routenwechsel nicht erneut gerendert, was dazu führt, dass die Seite nicht aktualisiert wird.

Um dieses Problem zu lösen, können wir die Einschluss- und Ausschlussattribute für die Keep-Alive-Komponente festlegen, um zu steuern, welche Komponenten zwischengespeichert und welche Komponenten erneut gerendert werden müssen. Gleichzeitig können wir auch das Max-Attribut festlegen, um die maximale Anzahl von Caches zu steuern und einen Speicherüberlauf zu vermeiden.

3. Route Guard

Sie können Route Guard verwenden, um Probleme beim Routenwechsel zu beheben. In der Hook-Funktion beforeRouteUpdate können Sie die benutzerdefinierte Methode in der Komponente auslösen, um den Datenabruf und die Seitenaktualisierung zu erreichen.

Es gibt vier Routenwächter in Vue: beforeEach, beforeResolve, afterEach und beforeRouteUpdate. Die Hook-Funktion beforeRouteUpdate wird ausgelöst, wenn die Route gewechselt wird, und nur, wenn die aktuelle Komponente wiederverwendet wird. Daher können wir in dieser Hook-Funktion relevante Vorgänge ausführen, um das Problem zu vermeiden, dass die Seite nicht aktualisiert wird.

3. Lösung

Für das Problem, dass die Seite beim Umschalten des Routings nicht aktualisiert wird, können wir die folgenden Lösungen verwenden:

1. Routing-Cache-Zeit hinzufügen.

2. Legen Sie die Einschluss- und Ausschlussattribute für die Keep-Alive-Komponente fest, um das Zwischenspeichern und erneute Rendern der Komponente zu steuern.

3. Verwenden Sie die Hook-Funktion beforeRouteUpdate im Route Guard, um die benutzerdefinierte Methode in der Komponente auszulösen.

4. Verwenden Sie verschiedene Routing-Methoden, z. B. die Methode router.push anstelle der Methode router.go.

Um das Problem zu vermeiden, dass die Seite beim Umschalten des Routings nicht aktualisiert wird, müssen wir es unter mehreren Gesichtspunkten lösen. Im eigentlichen Entwicklungsprozess müssen wir je nach Situation die am besten geeignete Lösung auswählen, um die normale Anzeige der Seite sicherzustellen.

Das obige ist der detaillierte Inhalt vonDie Vue-Routing-Switch-Route wird nicht aktualisiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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