Heim > Web-Frontend > View.js > Hauptteil

Routing-Funktion in Vue3: Routing-Sprünge für SPA-Anwendungen implementieren

WBOY
Freigeben: 2023-06-18 12:13:46
Original
1382 Leute haben es durchsucht

Vue3 ist derzeit eines der beliebtesten JavaScript-Frameworks, und in den letzten Updates hat Vue3 einige sehr nützliche neue Funktionen eingeführt, darunter leistungsfähigere Routing-Funktionen.

Es gibt einige Unterschiede zwischen der Routing-Funktion von Vue3 und Vue2, daher müssen wir das Routing von Vue2 überprüfen, bevor wir die Routing-Funktion von Vue3 lernen.

Routing in Vue2 wird durch die Verwendung von Vue Router implementiert. Zuerst müssen wir Vue Router im Projekt installieren und ihn dann in der Vue-Instanz konfigurieren. Für ein einfaches Routing-System müssen wir nur jeden Pfad und seine entsprechende Komponente angeben:

import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home.vue'
import About from '@/components/About.vue'

Vue.use(Router)

export default new Router({
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})
Nach dem Login kopieren

Im obigen Code erstellen wir eine Vue Router-Instanz, die zwei Routen enthält: „/“ und „/about“. Wenn Benutzer diese URLs besuchen, rendert Vue Router die entsprechenden Komponenten.

Die wichtigste Änderung beim Routing in Vue3 besteht darin, die Verwendung von Routing-Funktionen durch die Verwendung einer neuen API zu vereinfachen. Als nächstes stellen wir die Routing-Funktion in Vue3 im Detail vor.

Vue3-Routing erstellen

Zuerst müssen wir Vue Router 4 installieren:

npm install vue-router@4
Nach dem Login kopieren

Dann müssen wir Vue Router in die Vue-Anwendung importieren und eine Vue Router-Instanz erstellen:

import { createRouter, createWebHistory } from 'vue-router'
import Home from '@/components/Home.vue'
import About from '@/components/About.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})

export default router
Nach dem Login kopieren

Beachten Sie, dass wir Now Verwenden Sie die Funktion createRouter(), um Routen anstelle von new Router() zu erstellen.

Die wichtigste Änderung beim Routing in Vue3 besteht darin, dass die Routing-Funktion einen deklarativeren Ansatz verfolgt. Wir verwenden die Funktion createWebHistory(), um die Verwendung des HTML5-Verlaufsmodus anzugeben. Dies ist eine relativ neue Technologie, die es uns ermöglicht, die Seiten-URL sicherer zu aktualisieren, ohne die gesamte Seite neu laden zu müssen.

Routen definieren

Die Art und Weise, Routen zu definieren, ist die gleiche wie bei Vue2. Wir können Routen mithilfe des Routen-Arrays definieren. Jede Route besteht aus einem Pfad und einer entsprechenden Komponente.

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]
Nach dem Login kopieren

Routenparameter

Mithilfe von Routenparametern können wir dafür sorgen, dass URLs variable Werte haben. Beispielsweise können wir die folgende Route und URL konfigurieren:

const routes = [
  { path: '/user/:id', component: User }
]
Nach dem Login kopieren

Dadurch wird der :id-Teil in der URL zu einem Parameter, der einen beliebigen Zeichenfolgenwert akzeptieren kann, zum Beispiel:

/user/1
/user/abc
/user/123abc
Nach dem Login kopieren

Wir können $route.params in der Komponente verwenden um auf Routenparameter zuzugreifen. Zum Beispiel:

export default {
  name: 'User',
  created() {
    console.log(this.$route.params.id)
  }
}
Nach dem Login kopieren

Dadurch werden die Routenparameter jedes Mal ausgegeben, wenn die Komponente erstellt wird.

Benannte Routen

Wir können die Route benennen, wenn wir sie definieren. Dies ist für bestimmte Routennavigationsmethoden nützlich, zum Beispiel:

const routes = [
  { path: '/', component: Home, name: 'home' },
  { path: '/about', component: About, name: 'about' },
  { path: '/user/:id', component: User, name: 'user' }
]
Nach dem Login kopieren

Definieren Sie eine benannte Route, auf die wir über das Attribut $name zugreifen können.

router.push({ name: 'user', params: { id: 123 }})
Nach dem Login kopieren

Dadurch wird zur Benutzerkomponente mit der Parameter-ID gesprungen.

Routennavigation

Wir können die folgende Methode verwenden, um zu einer anderen Route zu navigieren:

// 带路径的导航
router.push('/about')

// 带命名的导航
router.push({ name: 'user', params: { id: 123 }})

// 重定向到另一个路由
router.replace('/about')
Nach dem Login kopieren

Wenn wir Routing in einer Komponente verwenden, können wir das $route-Objekt verwenden, um auf die aktuellen Routeninformationen zuzugreifen.

export default {
  name: 'About',
  created() {
    console.log(this.$route.path)
  }
}
Nach dem Login kopieren

Route Guards

Route Guards sind ein Mechanismus zur Überprüfung der Navigation, der es uns ermöglicht, Code vor oder nach dem Abfangen aller Routen auszuführen. In Vue3 können wir den folgenden Routenwächter verwenden:

const router = createRouter({
  routes: [...]
})

router.beforeEach((to, from, next) => {
  // 在此处添加路由守卫代码
  next()
})
Nach dem Login kopieren

Im beforeEach-Wächter können wir überprüfen, ob eingeloggt ist, oder den Benutzer veranlassen, die erforderlichen Aktionen auszuführen, um die Navigation fortzusetzen.

Zusammenfassung

Vue3 verfügt über einige wesentliche Verbesserungen beim Routing, wodurch es einfacher zu verwenden ist als Vue2. Der deklarativere Ansatz erleichtert die Definition und Verwendung von Routen. Darüber hinaus führt Vue3 auch den HTML5-Verlaufsmodus ein, der das Routing sicherer und benutzerfreundlicher macht.

Mit der Routing-Funktion von Vue3 können Sie Ihre eigene SPA-Anwendung erstellen und problemlos springen und navigieren.

Das obige ist der detaillierte Inhalt vonRouting-Funktion in Vue3: Routing-Sprünge für SPA-Anwendungen implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!