フロントエンド テクノロジの継続的な開発により、シングル ページ アプリケーション (SPA) がフロントエンド開発の主流となり、ルーティングは SPA アプリケーションの不可欠な部分となっています。 Vue3 では、ルーティング機能が更新および改善され、より使いやすく、より強力になりました。この記事では、Vue3 でのルーティング関数の応用と、SPA アプリケーションでのルーティング ジャンプの実装方法を詳しく紹介します。
Vue3 のルーティング ジャンプはすべて「ルート ナビゲーション機能」と呼ばれるルーティング機能によって行われます。基本的な使い方は次のとおりです。
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/home', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact } ] }) router.push('/home')
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() } })
export default { beforeRouteEnter(to, from, next) { axios.get('/user').then(response => { if (response.data.isAdmin) { next() } else { next('/403') } }) } }
export default { beforeRouteUpdate(to, from, next) { const id = to.params.id axios.get(`/user/${id}`).then(response => { this.user = response.data next() }) } }
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/user/:id', component: User } ] })
router.push({ path: `/user/${userId}` })
const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/home', component: Home, children: [ { path: 'list', component: List }, { path: 'detail/:id', component: Detail } ] } ] })
export default { created() { console.log(this.$route.children) // [ { path: 'list', ... }, { path: 'detail/:id', ... } ] } }
以上がVue3のルーティング機能の詳細解説:SPAアプリケーションのルーティングジャンプを実現するアプリケーションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。