Heim Web-Frontend js-Tutorial Zusammenfassende gemeinsame Nutzung von Vue-Routing-Hooks und Anwendungsszenarien

Zusammenfassende gemeinsame Nutzung von Vue-Routing-Hooks und Anwendungsszenarien

Jan 19, 2018 pm 02:00 PM
场景 应用

Dieser Artikel stellt hauptsächlich die detaillierte Erklärung von Vue-Routing-Hooks und Anwendungsszenarien vor (Zusammenfassung). Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

1. Routing-Hook-Syntax

Im offiziellen Dokument von vue-router wird Routing-Hook als Navigationsschutz übersetzt Sie können es auch senden, indem Sie auf die offizielle Website gehen, um die Details zu lesen.

Routing-Hooks

Routing-Hooks sind hauptsächlich für Benutzer definiert, um beim Routing von Änderungen eine spezielle Verarbeitung durchzuführen. . Was für ein Bissen.

Im Allgemeinen bietet Vue drei Haupttypen von Hooks

Globale Hooks
2. Komponenten-Hooks

Alle drei Routing-Hooks beinhalten drei Parameter hier

zu: Route: Das Ziel-Routing-Objekt, das eingegeben werden soll

from: Route: Die Route, die die aktuelle Navigation verlassen wird
next: Funktion: Diese Methode muss aufgerufen werden, um diesen Hook aufzulösen. Der Ausführungseffekt hängt von den Aufrufparametern der nächsten Methode ab.
next(): Fahren Sie mit dem nächsten Hook in der Pipeline fort. Wenn alle Hooks ausgeführt werden, wird der Navigationsstatus bestätigt.
next(false): Aktuelle Navigation unterbrechen. Wenn sich die URL des Browsers ändert (vielleicht manuell durch den Benutzer oder über die Zurück-Schaltfläche des Browsers), wird die URL-Adresse auf die Adresse zurückgesetzt, die der Von-Route entspricht.
next(‘/’) oder next({ path: ‘/’ }): Springe zu einer anderen Adresse. Die aktuelle Navigation wird unterbrochen und eine neue Navigation gestartet.

(1). Globaler Guard (globaler Routing-Hook)

Sie können router.beforeEach verwenden, um einen globalen Frontguard zu registrieren:

const router = new VueRouter({ ... })

router.beforeEach((to, from, next) => {
 // ...
 next()
})
Nach dem Login kopieren
Jede Guard-Methode akzeptiert Drei Parameter:

  1. zu: Route: das Zielroutenobjekt, das gerade betreten wird

  2. von: Route: die Route, die die aktuelle Navigation darstellt im Begriff zu gehen

  3. weiter: Funktion: Diese Methode muss aufgerufen werden, um diesen Hook aufzulösen. Der Ausführungseffekt hängt von den Aufrufparametern der nächsten Methode ab

Hinweis: Wenn Sie den globalen Routing-Hook verwenden, rufen Sie unbedingt next() auf!!!

( 2). Exklusiv für Routing-Guards (In-Route-Hooks)

Sie können BeforeEnter-Guards direkt in der Routenkonfiguration definieren:

const router = new VueRouter({
 routes: [
  {
   path: '/foo',
   component: Foo,
   beforeEnter: (to, from, next) => {
    // ...
   }
  }
 ]
})
Nach dem Login kopieren
Die Methodenparameter dieser Guards sind die gleichen wie die globale Vorwachen.

(3). Guards innerhalb der Komponente (Hook innerhalb der Komponente)

Schließlich können Sie den Routennavigationsschutz direkt in der Routing-Komponente definieren:

  1. beforeRouteEnter

  2. beforeRouteUpdate (neu in 2.2)

  3. beforeRouteLeave

const Foo = {
 template: `...`,
 beforeRouteEnter (to, from, next) {
  // 在渲染该组件的对应路由被 confirm 前调用
  // 不!能!获取组件实例 `this`
  // 因为当守卫执行前,组件实例还没被创建
 },
 beforeRouteUpdate (to, from, next) {
  // 在当前路由改变,但是该组件被复用时调用
  // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
  // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
  // 可以访问组件实例 `this`
 },
 beforeRouteLeave (to, from, next) {
  // 导航离开该组件的对应路由时调用
  // 可以访问组件实例 `this`
 }
}
Nach dem Login kopieren
zwei. Anwendungsszenarien von Routing-Hooks in der tatsächlichen Entwicklung. In tatsächlichen Projekten habe ich nur beforeRouteLeave verwendet. Die Verwendungsszenarien sind wie folgt: :

(1) Löschen Sie den Timer in der aktuellen Komponente

Wenn in einer Komponente ein Timer vorhanden ist und die Route gewechselt wird, können Sie beforeRouteLeave verwenden, um den Timer zu löschen, um eine Speicherbelegung zu vermeiden:

(2) Wenn die Seite nicht geschlossene Fenster oder nicht gespeicherte Inhalte enthält, verhindern Sie, dass die Seite springt.

beforeRouteLeave (to, from, next) {
 window.clearInterval(this.timer) //清楚定时器
 next()
}
Nach dem Login kopieren
Wenn die Seite wichtige Informationen enthält, die der Benutzer benötigt, kann der Sprung nur durchgeführt werden nach dem Speichern, sonst sollte verhindert werden, dass Benutzer springen

(3) Relevante Inhalte in Vuex oder Session speichern

 beforeRouteLeave (to, from, next) {
 //判断是否弹出框的状态和保存信息与否
 if (this.dialogVisibility === true) {
  this.dialogVisibility = false //关闭弹出框
  next(false) //回到当前页面, 阻止页面跳转
 }else if(this.saveMessage === false) {
  alert('请保存信息后退出!') //弹出警告
  next(false) //回到当前页面, 阻止页面跳转
 }else {
  next() //否则允许跳转
 }
}
Nach dem Login kopieren
, wenn der Benutzer schließen muss Auf dieser Seite können Sie öffentliche Informationen in einer Sitzung oder in Vuex speichern

Verwandte Empfehlungen:

 beforeRouteLeave (to, from, next) {
  localStorage.setItem(name, content); //保存到localStorage中
  next()
}
Nach dem Login kopieren


Beurteilen Sie, ob der Benutzer angemeldet ist, wenn die Vue-Route springt

Detaillierte Erläuterung der Vue-Routing-verschachtelten SPA-Implementierungsschritte

Ein Beispiel-Tutorial, das Vue-Routing-Jump-Probleme zusammenfasst

Das obige ist der detaillierte Inhalt vonZusammenfassende gemeinsame Nutzung von Vue-Routing-Hooks und Anwendungsszenarien. 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ß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)

Wie lässt sich das Long-Tail-Problem in autonomen Fahrszenarien lösen? Wie lässt sich das Long-Tail-Problem in autonomen Fahrszenarien lösen? Jun 02, 2024 pm 02:44 PM

Gestern wurde ich während des Interviews gefragt, ob ich irgendwelche Long-Tail-Fragen gestellt hätte, also dachte ich, ich würde eine kurze Zusammenfassung geben. Das Long-Tail-Problem des autonomen Fahrens bezieht sich auf Randfälle bei autonomen Fahrzeugen, also mögliche Szenarien mit geringer Eintrittswahrscheinlichkeit. Das wahrgenommene Long-Tail-Problem ist einer der Hauptgründe, die derzeit den betrieblichen Designbereich intelligenter autonomer Einzelfahrzeugfahrzeuge einschränken. Die zugrunde liegende Architektur und die meisten technischen Probleme des autonomen Fahrens wurden gelöst, und die verbleibenden 5 % der Long-Tail-Probleme wurden nach und nach zum Schlüssel zur Einschränkung der Entwicklung des autonomen Fahrens. Zu diesen Problemen gehören eine Vielzahl fragmentierter Szenarien, Extremsituationen und unvorhersehbares menschliches Verhalten. Der „Long Tail“ von Randszenarien beim autonomen Fahren bezieht sich auf Randfälle in autonomen Fahrzeugen (AVs). Randfälle sind mögliche Szenarien mit geringer Eintrittswahrscheinlichkeit. diese seltenen Ereignisse

So machen Sie das Löschen vom Startbildschirm im iPhone rückgängig So machen Sie das Löschen vom Startbildschirm im iPhone rückgängig Apr 17, 2024 pm 07:37 PM

Sie haben etwas Wichtiges von Ihrem Startbildschirm gelöscht und versuchen, es wiederherzustellen? Es gibt verschiedene Möglichkeiten, App-Symbole wieder auf dem Bildschirm anzuzeigen. Wir haben alle Methoden besprochen, die Sie anwenden können, um das App-Symbol wieder auf dem Startbildschirm anzuzeigen. So machen Sie das Entfernen vom Startbildschirm auf dem iPhone rückgängig. Wie bereits erwähnt, gibt es mehrere Möglichkeiten, diese Änderung auf dem iPhone wiederherzustellen. Methode 1 – App-Symbol in der App-Bibliothek ersetzen Sie können ein App-Symbol direkt aus der App-Bibliothek auf Ihrem Startbildschirm platzieren. Schritt 1 – Wischen Sie seitwärts, um alle Apps in der App-Bibliothek zu finden. Schritt 2 – Suchen Sie das App-Symbol, das Sie zuvor gelöscht haben. Schritt 3 – Ziehen Sie einfach das App-Symbol aus der Hauptbibliothek an die richtige Stelle auf dem Startbildschirm. Dies ist das Anwendungsdiagramm

Die Rolle und praktische Anwendung von Pfeilsymbolen in PHP Die Rolle und praktische Anwendung von Pfeilsymbolen in PHP Mar 22, 2024 am 11:30 AM

Die Rolle und praktische Anwendung von Pfeilsymbolen in PHP In PHP wird das Pfeilsymbol (->) normalerweise verwendet, um auf die Eigenschaften und Methoden von Objekten zuzugreifen. Objekte sind eines der Grundkonzepte der objektorientierten Programmierung (OOP) in PHP. In der tatsächlichen Entwicklung spielen Pfeilsymbole eine wichtige Rolle bei der Bedienung von Objekten. In diesem Artikel werden die Rolle und die praktische Anwendung von Pfeilsymbolen vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis zu erleichtern. 1. Die Rolle des Pfeilsymbols für den Zugriff auf die Eigenschaften eines Objekts. Das Pfeilsymbol kann für den Zugriff auf die Eigenschaften eines Objekts verwendet werden. Wenn wir ein Paar instanziieren

Vom Anfänger bis zum Experten: Entdecken Sie verschiedene Anwendungsszenarien des Linux-Befehls tee Vom Anfänger bis zum Experten: Entdecken Sie verschiedene Anwendungsszenarien des Linux-Befehls tee Mar 20, 2024 am 10:00 AM

Der Linuxtee-Befehl ist ein sehr nützliches Befehlszeilentool, das Ausgaben in eine Datei schreiben oder an einen anderen Befehl senden kann, ohne die vorhandene Ausgabe zu beeinträchtigen. In diesem Artikel werden wir die verschiedenen Anwendungsszenarien des Linuxtee-Befehls eingehend untersuchen, vom Anfänger bis zum Experten. 1. Grundlegende Verwendung Werfen wir zunächst einen Blick auf die grundlegende Verwendung des Tee-Befehls. Die Syntax des Tee-Befehls lautet wie folgt: tee[OPTION]...[DATEI]...Dieser Befehl liest Daten aus der Standardeingabe und speichert sie dort

Entdecken Sie die Vorteile und Anwendungsszenarien der Go-Sprache Entdecken Sie die Vorteile und Anwendungsszenarien der Go-Sprache Mar 27, 2024 pm 03:48 PM

Die Go-Sprache ist eine Open-Source-Programmiersprache, die von Google entwickelt und erstmals 2007 veröffentlicht wurde. Sie ist als einfache, leicht zu erlernende, effiziente Sprache mit hoher Parallelität konzipiert und wird von immer mehr Entwicklern bevorzugt. In diesem Artikel werden die Vorteile der Go-Sprache untersucht, einige für die Go-Sprache geeignete Anwendungsszenarien vorgestellt und spezifische Codebeispiele gegeben. Vorteile: Starke Parallelität: Die Go-Sprache verfügt über eine integrierte Unterstützung für leichtgewichtige Threads-Goroutinen, mit denen die gleichzeitige Programmierung problemlos implementiert werden kann. Goroutine kann mit dem Schlüsselwort go gestartet werden

Haben Sie diese Stresstest-Tools für Linux-Systeme verwendet? Haben Sie diese Stresstest-Tools für Linux-Systeme verwendet? Mar 21, 2024 pm 04:12 PM

Sind Sie als Betriebs- und Wartungspersonal schon einmal auf dieses Szenario gestoßen? Sie müssen Tools verwenden, um eine hohe CPU- oder Speicherauslastung des Systems zu testen, um Alarme auszulösen, oder die Parallelitätsfähigkeiten des Dienstes durch Stresstests testen. Als Betriebs- und Wartungsingenieur können Sie mit diesen Befehlen auch Fehlerszenarien nachbilden. Dann kann Ihnen dieser Artikel dabei helfen, häufig verwendete Testbefehle und -tools zu beherrschen. 1. Einleitung Um Probleme im Projekt zu lokalisieren und zu reproduzieren, müssen in manchen Fällen Tools zur Durchführung systematischer Stresstests zur Simulation und Wiederherstellung von Fehlerszenarien eingesetzt werden. Zu diesem Zeitpunkt sind Test- oder Stresstest-Tools besonders wichtig. Als Nächstes werden wir die Verwendung dieser Tools in verschiedenen Szenarien untersuchen. 2. Testtools 2.1 Tool zur Netzwerkgeschwindigkeitsbegrenzung tctc ist ein Befehlszeilentool zum Anpassen von Netzwerkparametern unter Linux. Es kann zur Simulation verschiedener Netzwerke verwendet werden.

Die breite Anwendung von Linux im Bereich Cloud Computing Die breite Anwendung von Linux im Bereich Cloud Computing Mar 20, 2024 pm 04:51 PM

Die breite Anwendung von Linux im Bereich Cloud Computing Mit der kontinuierlichen Weiterentwicklung und Popularisierung der Cloud-Computing-Technologie spielt Linux als Open-Source-Betriebssystem eine wichtige Rolle im Bereich Cloud Computing. Aufgrund seiner Stabilität, Sicherheit und Flexibilität werden Linux-Systeme häufig in verschiedenen Cloud-Computing-Plattformen und -Diensten eingesetzt und bieten eine solide Grundlage für die Entwicklung der Cloud-Computing-Technologie. In diesem Artikel werden die vielfältigen Einsatzmöglichkeiten von Linux im Bereich Cloud Computing vorgestellt und konkrete Codebeispiele gegeben. 1. Anwendungsvirtualisierungstechnologie von Linux in der Virtualisierungstechnologie der Cloud-Computing-Plattform

MySQL-Zeitstempel verstehen: Funktionen, Features und Anwendungsszenarien MySQL-Zeitstempel verstehen: Funktionen, Features und Anwendungsszenarien Mar 15, 2024 pm 04:36 PM

Der MySQL-Zeitstempel ist ein sehr wichtiger Datentyp, der Datum, Uhrzeit oder Datum plus Uhrzeit speichern kann. Im eigentlichen Entwicklungsprozess kann die rationelle Verwendung von Zeitstempeln die Effizienz von Datenbankoperationen verbessern und zeitbezogene Abfragen und Berechnungen erleichtern. In diesem Artikel werden die Funktionen, Features und Anwendungsszenarien von MySQL-Zeitstempeln erläutert und anhand spezifischer Codebeispiele erläutert. 1. Funktionen und Eigenschaften von MySQL-Zeitstempeln In MySQL gibt es zwei Arten von Zeitstempeln, einer ist TIMESTAMP

See all articles