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 InstanzInstallieren 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-router42.1 Dynamisches RoutingWenn 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 KompositionHolen 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ächterNavigationswä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 Wacherouter.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 Routerschutzrouter.addRoute({ Pfad: „/my“, Name: 'mein', Komponente:()=>importieren("../views/my/index.vue"), vorEingabe:(bis,von)=>{ console.log('Routen-Exklusivschutz'); } }) 3.3. Schutzvorrichtungen innerhalb von KomponentenDie 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-router44.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:
4.3. Basisattribute werden zusammengeführtDie 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 scrollBehaviorconst 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 entferntEntfernen 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 entfernt4.10. Die Option pathToRegexpOptions wurde entfernt und durch anderen Inhalt ersetzt4.11. Die Option „Routen“ ist erforderlich4.12. Fehlermeldung bei Umleitung auf eine nicht vorhandene benannte RouteFrü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 aus4.14. Wenn der Pfad einer benannten Unterroute leer ist, wird kein / angehängtAn 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:
|
<<: 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
Wenn Sie mit Docker noch nicht vertraut sind, seh...
Inhaltsverzeichnis 1. Ersetzen Sie die Apply-Meth...
1. Die drei Dateien /etc/hosts, /etc/resolv.conf ...
Inhaltsverzeichnis 1. Unterschiede zwischen den b...
Beim Hochladen auf einigen Websites wird nach dem...
Sprechen Sie über die Szene E-Mail senden Einbett...
In diesem Artikelbeispiel wird der spezifische Co...
Die vollständige Syntax der SELECT-Anweisung laut...
Beschreibung: Ändern Sie den Wagenrücklauf im Text...
Im Projekt (nodejs) müssen mehrere Daten gleichze...
1. Anforderungsbeschreibung Bei einem bestimmten ...
1. Laden Sie Navicat für MySQL 15 herunter https:...
Inhaltsverzeichnis 1. Hintergrund von WAF 2. Was ...
mycli MyCLI ist eine Befehlszeilenschnittstelle f...
Inhaltsverzeichnis 1. Ziehen Sie das Bild 1.1 Zie...