Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Obwohl die meisten APIs von Vue-Router 4 unverändert bleiben, existiert es als Plug-In in Vue3, sodass es bei seiner Verwendung einige Änderungen gibt. Als Nächstes lernen wir, wie man es verwendet.

1. Installieren und erstellen Sie eine Instanz

Installieren Sie die neueste Version von vue-router

npm installiere vue-router@4 

oder yarn add vue-router@4

Nach Abschluss der Installation können Sie die Version von vue-router in der Datei package.json anzeigen

"Abhängigkeiten": {
 "vue": "^3.2.16",
 "vue-router": "4"
},

Erstellen Sie einen neuen Router-Ordner und eine neue index.js-Datei:

importiere { createRouter, createWebHashHistory } von "vue-router";

const Routen = [
 {
  Weg:'',
  Komponente:()=>importieren("../views/login/index.vue")
 },
 {
  Pfad: „/home“,
  Komponente:()=>importieren("../views/home/index.vue")
 }
]

const router = createRouter({
 Verlauf: createWebHashHistory('/'),
 Routen
})

Standardrouter exportieren

Importieren Sie dann den Router in main.js.

importiere { createApp } von 'vue'
App aus „./App.vue“ importieren
Router aus "./router/index" importieren

const app = createApp(App)
app.use(Router)
app.mount('#app')

Hinweis: Bisher konnten Sie beim Importieren einer Komponente in eine Komponente das Suffix .vue weglassen. In Vue-Router 4 können Sie das Suffix jedoch nicht weglassen, da sonst eine Fehlermeldung auftritt.

2. Neue Funktionen von vue-router4

2.1 Dynamisches Routing

Wenn addRoute dynamisch Routen hinzufügt, gibt es zwei Situationen:

//Routen dynamisch hinzufügen - standardmäßig zum Stamm router.addRoute({
 Pfad: „/my“,
 Name: 'mein',
 Komponente:()=>importieren("../views/my/index.vue")
})

//Unterrouten dynamisch hinzufügen router.addRoute('my',{
 Pfad: „/info“,
 Komponente:()=>importieren("../views/my/info.vue")
})

Beim Hinzufügen einer untergeordneten Route ist der erste Attributwert der Name-Attributwert der übergeordneten Route.

2.2, Kombination mit Komposition

Holen Sie sich den Router im Ereignis und führen Sie Vorgänge wie Routensprünge durch.

<Vorlage>
  <button @click="backToHome">Zur Startseite</button>
</Vorlage>

<Skript>
importiere { useRouter } von "vue-router"
Standard exportieren {
 aufstellen(){
  const router = useRouter()
  zurückkehren {
   zurückZurStartseite(){
    router.push("/")
   },
  }
 }
}
</Skript>

Holen Sie sich die Route vor dem Betrieb über useRouter. Sie können auch die aktuelle Route befahren. Nachfolgend sehen Sie ein Beispiel für das Abhören von route.query:

<Vorlage>
  <div>Routenänderungen überwachen</div>
</Vorlage>

<Skript>
importiere { useRouter, useRoute } von "vue-router"
importiere { watch } von "@vue/runtime-core"
Standard exportieren {
 aufstellen(){
  const route = useRoute()
  //Route ist ein responsives Objekt, das Änderungen überwachen kann watch(()=>route.query,query=>{
   console.log('neueste',Abfrage)
  })
 }
}
</Skript>

3. Navigationswächter

Navigationswächter werden hauptsächlich verwendet, um die Navigation durch Umleitung oder Abbruch zu schützen. Es gibt viele Möglichkeiten, die Navigation in das Routing einzubetten: global, für eine einzelne Route oder auf Komponentenebene.

3.1 Globale Wache

router.beforeEach((bis,von,weiter)=>{
 console.log('globaler Frontschutz');
})
router.afterEach((bis,von)=>{
 console.log('globaler Post-Hook');
})

Das Gleiche wie vorher, keine Änderungen.

3.2. Exklusiver Routerschutz

router.addRoute({
 Pfad: „/my“,
 Name: 'mein',
 Komponente:()=>importieren("../views/my/index.vue"),
 vorEingabe:(bis,von)=>{
  console.log('Routen-Exklusivschutz');
 }
})

3.3. Schutzvorrichtungen innerhalb von Komponenten

Die Schutzmechanismen in der Komponente unterscheiden sich von den zuvor verwendeten. In vue-router4 müssen Sie die erforderlichen Plug-Ins von vue-router importieren.

<Skript>
importiere { onBeforeRouteLeave } von "vue-router"
Standard exportieren {
 aufstellen(){
 onnBeforeRouteLeave((nach,von)=>{
  const answer = window.confirm('Sind Sie sicher, dass Sie gehen möchten?')
  wenn(Antwort){
   console.log('nicht verlassen');
   return false
  }
  })
 }
}
</Skript>

4. Destruktive Änderungen in vue-router4

4.1. Methode zur Instanzerstellung

//Vorherige Erstellungsmethode const router = new VueRouter({
 
})
neuer Vue({
 Router,
 render:h=>h(App)
}).$mount("#app")

//vue-router4-Erstellungsmethode importiere { createRouter } von "vue-router"
const router = createRouter({

})
erstelleApp(App).verwenden(Router).mount("#app")

4.2. Änderungen in der Modusdeklaration

//Vorher const router = new VueRouter({
 Modus: „Hash“
})

//Neuer Import { createRouter, createWebHashHistory } von „vue-router“
const router = createRouter({
 Verlauf: createWebHashHistory()
})

Der vorherige Modus wird durch den Verlauf ersetzt und seine Optionen werden wie folgt geändert:

  • Verlauf->Webverlauf erstellen
  • Hash -> WebHashHistory erstellen
  • abstrakt -> Speicherhistorie erstellen

4.3. Basisattribute werden zusammengeführt

Die Basisoption wurde nach „createWebHistory“ verschoben.

//Vorher const router = new VueRouter({
 Base:"/"
})

//Neuer Import { createRouter, createWebHashHistory } von „vue-router“
const router = createRouter({
 Verlauf: createWebHashHistory('/')
})

4.4. Wildcard * entfällt

//Vor{
 Weg:'*',
 Komponente:()=>importieren("../components/NotFound.vue")
}

//vue-router 4
{
 Pfad:'/:PfadMatch(.*)*',
 Komponente:()=>importieren("../components/NotFound.vue")
}
// ist ein regulärer Ausdruck

4.5. isReady() statt onReady

//Vorher router.onReady(onSuccess, onError) //Rückrufe bei Erfolg und Fehler //vue-router 4
router.istBereit().dann(()=>{
 //Erfolg}).catch(err=>{
 //scheitern})

4.6. Änderungen am scrollBehavior

const router = createRouter({
 scrollVerhalten(bis, von, gespeichertePosition) {
  // Immer nach oben scrollen return { top: 0, left:0 }
 },
})
//Das vorherige { x:0, y:0 } wird durch { top: 0, left:0 } ersetzt.

4.7. Keep-Alive und Transition müssen innerhalb der Router-Ansicht verwendet werden

//Vorher <keep-alive>
 <Router-Ansicht />
</am Leben erhalten>

//vue-router 4
<router-view v-slot="{component}">
 <am Leben erhalten>
  <Komponente: ist = "Komponente" />
 </am Leben erhalten>
</Router-Ansicht>

4.8. router-link hat einige Attribute entfernt

Entfernen Sie das Append-Attribut

//Vorher <router-link to="child" anhängen > zu <router-link> springen

//vue-router 4
<router-link :to="append( $route.path , 'child' )" anhängen > springe zu <router-link>

Tag entfernt

//Vor dem <router-link to="/" tag="span">Sprung</router-link>

//vue-router 4
<router-link to="/" benutzerdefiniert>
 <span>Springen</span>  
</Router-Link>

Ereignis wird entfernt

4.9. Das übergeordnete Attribut der Route wird entfernt

4.10. Die Option pathToRegexpOptions wurde entfernt und durch anderen Inhalt ersetzt

4.11. Die Option „Routen“ ist erforderlich

4.12. Fehlermeldung bei Umleitung auf eine nicht vorhandene benannte Route

Früher war beim Springen zu einer nicht vorhandenen Route die Seite leer und der Stammpfad wurde umgeleitet, was unsinnig war, sodass Vue3 einen Fehler meldete.

4.13. Fehlende erforderliche Parameter lösen eine Ausnahme aus

4.14. Wenn der Pfad einer benannten Unterroute leer ist, wird kein / angehängt

An die zuvor generierte URL wird automatisch ein / angehängt, beispielsweise „/Strich/“. Nebenwirkungen: Hat Nebenwirkungen auf untergeordnete Routen, bei denen die Umleitungsoption festgelegt ist.

Sind Sie mit diesem Artikel über Vue-Router 4 wirklich vertraut? Dies ist das Ende des Artikels. Weitere relevante Inhalte zu Vue-Router 4 finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zur Verwendung von Router-View-Komponenten in Vue
  • Ein einfaches Beispiel für die Verwendung von Vue3-Routing VueRouter4
  • Detaillierte Erklärung zur Installation und Verwendung von Vue-Router
  • Führen Sie die folgenden Schritte aus, um Vue-Router in Vue3 zu verwenden
  • So verwenden Sie das Vue-Router-Routing
  • Wissen Sie, wie man den Router in vue3.0 verwendet?

<<:  Website-Leistung: Bild- und Cookie-Optimierung und Optimierung mobiler Anwendungen

>>:  Lassen Sie die Webseite nach dem Öffnen für einige Sekunden auf andere Seiten umleiten

Artikel empfehlen

Docker-Tutorial: Container verwenden (einfaches Beispiel)

Wenn Sie mit Docker noch nicht vertraut sind, seh...

Verständnis und Anwendungsszenarien von ES6-Erweiterungsoperatoren

Inhaltsverzeichnis 1. Ersetzen Sie die Apply-Meth...

Detaillierte Erklärung, wie Node.js mit ES6-Modulen umgeht

Inhaltsverzeichnis 1. Unterschiede zwischen den b...

Über die Kontrolle und Verschönerung von Eingabedateien

Beim Hochladen auf einigen Websites wird nach dem...

Lösung zur Konvertierung in Inline-Styles in CSS (css-inline)

Sprechen Sie über die Szene E-Mail senden Einbett...

js, um einfache Lupeneffekte zu erzielen

In diesem Artikelbeispiel wird der spezifische Co...

Ein kurzes Verständnis der MySQL SELECT-Ausführungsreihenfolge

Die vollständige Syntax der SELECT-Anweisung laut...

So fügen Sie Batchdaten unter Node.js in eine MySQL-Datenbank ein

Im Projekt (nodejs) müssen mehrere Daten gleichze...

Mycli ist ein unverzichtbares Tool für MySQL-Befehlszeilen-Enthusiasten

mycli MyCLI ist eine Befehlszeilenschnittstelle f...

Detailliertes Tutorial zur Installation von SonarQube mit Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 1.1 Zie...