Heim Web-Frontend Front-End-Fragen und Antworten Löschverlauf des Vue-Routers

Löschverlauf des Vue-Routers

May 24, 2023 pm 02:07 PM

Bei der Entwicklung von Single-Page-Anwendungen mit Vue Router müssen wir Benutzern häufig erlauben, den Browserverlauf zu löschen. Da Vue Router jedoch keine integrierte Methode bietet, die uns bei der Implementierung dieser Funktion hilft, müssen wir einen Weg finden, sie selbst zu implementieren.

Methode 1:

Eine Methode besteht darin, eine Methode namens „replaceState“ in Javascript zu verwenden, die den aktuellen Browser-Verlaufseintrag durch einen neuen ersetzen und so den Zweck des Löschens des Verlaufseintrags erreichen kann. Wir können diese Methode mit Vue Router verwenden. Die spezifischen Schritte sind wie folgt:

  1. Zuerst müssen wir alle Routing-Sprungereignisse im Schutz des Vue Routers abfangen und dann die Pfadinformationen des zu überspringenden Routing-Objekts speichern.
router.beforeEach((to, from, next) => {
    sessionStorage.setItem('toPath', to.fullPath) // 保存即将跳转的路由对象的路径
    next()
})
Nach dem Login kopieren
  1. Wenn der Benutzer dann den Browserverlauf löschen möchte, können wir den zuvor gespeicherten Pfad aus sessionStorage abrufen und dann die Methode „replaceState“ verwenden, um den aktuellen Verlauf durch den Verlauf dieses Pfads zu ersetzen und so den Zweck zu erreichen des Löschens der Geschichte.
function clearHistory() {
    const toPath = sessionStorage.getItem('toPath')
    history.replaceState(null, '', toPath)
    sessionStorage.removeItem('toPath')
}
Nach dem Login kopieren
  1. Abschließend stellen wir diese Methode zum Löschen des Verlaufs zur Verfügung, damit Benutzer sie aufrufen können.
export default {
    clearHistory
}
Nach dem Login kopieren

Um die Schritte dieser Methode zusammenzufassen:

  1. Speichern Sie den Pfad des Routing-Objekts, das in sessionStorage im Schutz des Vue Routers gesprungen werden soll.
  2. Wenn Sie den Verlauf löschen müssen, rufen Sie den zuvor gespeicherten Pfad aus sessionStorage ab und verwenden Sie die Methode „replaceState“, um den aktuellen Verlauf durch den Verlauf dieses Pfads zu ersetzen.
  3. Stellen Sie eine API-Schnittstelle bereit, über die Benutzer die Methode zum Löschen des Verlaufs aufrufen können.

Methode 2:

Eine andere Möglichkeit, den Browserverlauf zu löschen, besteht darin, die Hook-Funktion von Vue Router zu verwenden. Die spezifischen Schritte sind wie folgt:

  1. Wir können „Ersetzen“ in der globalen Post-Hook-Funktion von Vue Router verwenden. Die Methode ersetzt den aktuellen Routing-Pfad durch den vorherigen Routing-Pfad und erreicht so den Zweck, historische Datensätze zu löschen.
router.afterEach((to, from) => {
    if (!sessionStorage.getItem('isBack')) {
        history.replaceState(null, '', from.fullPath)
        sessionStorage.setItem('fromPath', from.fullPath) // 保存从哪个路由页面来
    }
    sessionStorage.removeItem('isBack') // 操作完后,清除标识变量
})
Nach dem Login kopieren
  1. Dann können wir das Ereignis „Verlauf löschen“ in der Komponente auslösen. Die spezifische Implementierung kann die $emit-Methode von Vue verwenden, um Daten an die übergeordnete Komponente zu übergeben.
this.$emit('clearHistory')
Nach dem Login kopieren
  1. Hören Sie auf das Ereignis des Löschens von Verlaufsdatensätzen in der übergeordneten Komponente, rufen Sie die Methode „replace“ für das Routing-Objekt in der Rückruffunktion auf und ersetzen Sie den Pfad des aktuellen Routing-Objekts durch den vorherigen Pfad. Dadurch können Sie Ihren Browserverlauf löschen.
<template>
    <button @click="handleClearHistory">清除历史记录</button>
</template>
<script>
export default {
    methods: {
        handleClearHistory() {
            this.$router.replace(sessionStorage.getItem('fromPath'))
            sessionStorage.setItem('isBack', 'true')
        }
    }
}
</script>
Nach dem Login kopieren

Um die Schritte dieser Methode zusammenzufassen:

  1. Speichern Sie in der globalen Post-Hook-Funktion von Vue Router den Routing-Pfad der aktuellen Seite im SessionStorage.
  2. Lösen Sie das Ereignis zum Löschen des Verlaufsdatensatzes in der Komponente aus, die den Verlaufsdatensatz löschen muss, und verwenden Sie die Methode $emit, um die Daten an die übergeordnete Komponente zu übergeben.
  3. Überwachen Sie das Ereignis des Löschens des Verlaufsdatensatzes in der übergeordneten Komponente und rufen Sie in der Rückruffunktion die Methode „Ersetzen“ für das Routing-Objekt auf, um den Pfad des aktuellen Routing-Objekts durch den vorherigen Pfad zu ersetzen.

Zusammenfassend können wir eine dieser beiden Methoden verwenden, um die Funktion zum Löschen des Browserverlaufs zu implementieren. Welche Methode wir wählen, kann basierend auf spezifischen Geschäftsanforderungen und Entwicklungsszenarien bestimmt werden. Ich hoffe, dieser Artikel ist hilfreich für Sie.

Das obige ist der detaillierte Inhalt vonLöschverlauf des Vue-Routers. 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
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)

Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Was ist Useffizität? Wie verwenden Sie es, um Nebenwirkungen auszuführen? Mar 19, 2025 pm 03:58 PM

In dem Artikel wird die Verwendung von UseEffect in React, einen Haken für die Verwaltung von Nebenwirkungen wie Datenabrufen und DOM -Manipulation in funktionellen Komponenten erläutert. Es erklärt die Verwendung, gemeinsame Nebenwirkungen und Reinigung, um Probleme wie Speicherlecks zu verhindern.

Erklären Sie das Konzept des faulen Ladens. Erklären Sie das Konzept des faulen Ladens. Mar 13, 2025 pm 07:47 PM

Lazy Ladeverzögerung des Ladens von Inhalten bis zur Bedarf, Verbesserung der Webleistung und Benutzererfahrung durch Reduzierung der anfänglichen Ladezeiten und des Serverlasts.

Wie funktioniert der React -Versöhnungsalgorithmus? Wie funktioniert der React -Versöhnungsalgorithmus? Mar 18, 2025 pm 01:58 PM

Der Artikel erläutert den Versöhnungsalgorithmus von React, der das DOM effizient aktualisiert, indem virtuelle DOM -Bäume verglichen werden. Es werden Leistungsvorteile, Optimierungstechniken und Auswirkungen auf die Benutzererfahrung erörtert.

Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Wie funktioniert das Currying in JavaScript und wie hoch sind ihre Vorteile? Mar 18, 2025 pm 01:45 PM

In dem Artikel wird das Currying in JavaScript, einer Technik, die Multi-Argument-Funktionen in Einzelargument-Funktionssequenzen verwandelt. Es untersucht die Implementierung von Currying, Vorteile wie teilweise Anwendungen und praktische Verwendungen, Verbesserung des Code -Lesens

Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Was sind Funktionen höherer Ordnung in JavaScript und wie können sie verwendet werden, um prägnanter und wiederverwendbarer Code zu schreiben? Mar 18, 2025 pm 01:44 PM

Funktionen höherer Ordnung in JavaScript verbessern die Übersichtlichkeit, Wiederverwendbarkeit, Modularität und Leistung von Code durch Abstraktion, gemeinsame Muster und Optimierungstechniken.

Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Was ist usecontext? Wie verwenden Sie es, um den Zustand zwischen Komponenten zu teilen? Mar 19, 2025 pm 03:59 PM

Der Artikel erläutert den Usecontext in React, was das staatliche Management durch Vermeidung von Prop -Bohrungen vereinfacht. Es wird von Vorteilen wie zentraler Staat und Leistungsverbesserungen durch reduzierte Neulehre erörtert.

Wie verbinden Sie React -Komponenten mit Connect () an den Redux -Store? Wie verbinden Sie React -Komponenten mit Connect () an den Redux -Store? Mar 21, 2025 pm 06:23 PM

In Artikel werden die Verbindungskomponenten an Redux Store mit Connect () verbinden, wobei MapStatetoprops, MapDispatchtoprops und Leistungsauswirkungen erläutert werden.

Wie verhindern Sie das Standardverhalten bei Ereignishandlern? Wie verhindern Sie das Standardverhalten bei Ereignishandlern? Mar 19, 2025 pm 04:10 PM

In Artikeln werden das Standardverhalten bei Ereignishandlern mithilfe von PURDDEFAULT () -Methoden, seinen Vorteilen wie verbesserten Benutzererfahrungen und potenziellen Problemen wie Barrierefreiheitsproblemen verhindern.

See all articles