Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie ist Single Page Application (SPA) zum Mainstream der Front-End-Entwicklung geworden, und Routing ist ein integraler Bestandteil von SPA-Anwendungen. In Vue3 wurde die Routing-Funktion aktualisiert und verbessert, wodurch sie benutzerfreundlicher und leistungsfähiger wird. In diesem Artikel wird die Anwendung von Routing-Funktionen in Vue3 und die Implementierung von Routing-Sprüngen in SPA-Anwendungen ausführlich vorgestellt.
Routensprünge in Vue3 werden alle durch Routing-Funktionen vervollständigt .push()-Funktion zur Angabe des zu überspringenden Pfads. Unter diesen wird die Funktion createRouter () zum Erstellen eines Routers verwendet, der Verlaufsparameter gibt den Routing-Modus an und der Routenparameter definiert die Zuordnungsbeziehung zwischen Routing-Pfaden und Komponenten.
2. Routenwächter implementieren
2.1 beforeEach
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/home', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact } ] }) router.push('/home')
2.2 beforeRouteEnter
router.beforeEach((to, from, next) => { // to: 即将要跳转的路由 // from: 当前页面正要离开的路由 // next: 控制路由是否可以跳转的函数 const loggedIn = localStorage.getItem('user') if (to.matched.some(record => record.meta.requiresAuth) && !loggedIn) { next('/login') } else { next() } })
2.3 beforeRouteUpdate
export default { beforeRouteEnter(to, from, next) { axios.get('/user').then(response => { if (response.data.isAdmin) { next() } else { next('/403') } }) } }
3. Implementieren Sie dynamisches Routing
export default { beforeRouteUpdate(to, from, next) { const id = to.params.id axios.get(`/user/${id}`).then(response => { this.user = response.data next() }) } }
Im obigen Beispiel haben wir die dynamische Generierung von Routing-Pfaden durch den Platzhalter „:id“ erreicht. Beim Routing von Sprüngen können wir den ID-Wert im Pfad über to.params.id abrufen.
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/user/:id', component: User } ] })
4. Verschachteltes Routing implementieren
router.push({ path: `/user/${userId}` })
Im obigen Beispiel haben wir in der Home-Route zwei Unterrouten definiert, Liste und Detail. In der List-Komponente können wir Unterrouteninformationen über das Children-Attribut des $route-Objekts abrufen.
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/home', component: Home, children: [ { path: 'list', component: List }, { path: 'detail/:id', component: Detail } ] } ] })
5. Zusammenfassung
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Routing-Funktion in Vue3: Anwendung zum Implementieren des Routing-Sprungs der SPA-Anwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!