vue3動態(tài)添加路由
前言
有的時候我們需要根據(jù)不同的用戶身份生成不同的路由規(guī)則,例如:
vip用戶應(yīng)該有自己的vip頁面所對應(yīng)的專用路由。
一、初始化項目
初始化vite + vue + ts項目,引入vue-router。
目錄結(jié)構(gòu)如下,注意這個404重定向,vue3不支持直接使用“*”匹配所有路由了,要使用:catchAll(.*)。

初始化路由:
import {createRouter, createWebHashHistory} from "vue-router";
const routes = [
{
path: "/",
component: () => import("../views/HomePage.vue")
},
{
path: "/404",
component: () => import("../views/ErrorPage.vue")
},
{
path: "/:catchAll(.*)", // 不識別的path自動匹配404
redirect: '/404',
},
]
const router=createRouter({
history: createWebHashHistory(),
routes
})
export default router;現(xiàn)在如果去訪問vip路由,則會跳轉(zhuǎn)到404頁面。

二、添加“vip”路由
如果需要訪問vip頁面,那么就需要我們動態(tài)地添加vip路由,下面代碼實現(xiàn)了vip路由添加:
import {useRouter} from "vue-router";
let router = useRouter();
function addRouter(){
router.addRoute( {
path: "/vip",
component: () => import("../views/VipPage.vue")
})
}此時我們再去訪問vip路由路徑:

可以成功訪問了。
三、總結(jié)
可以了解到,動態(tài)添加路由就是使用了router對象的addRoute方法。有時候可能是添加嵌套路由,也就是子路由。
router.addRoute({ name: 'admin', path: '/admin', component: Admin })
router.addRoute('admin', { path: 'settings', component: AdminSettings })
// 這等效于:
router.addRoute({
name: 'admin',
path: '/admin',
component: Admin,
children: [{ path: 'settings', component: AdminSettings }],
})到此這篇關(guān)于vue3動態(tài)添加路由的文章就介紹到這了,更多相關(guān)vue動態(tài)路由內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+element-ui+sortable.js實現(xiàn)表格拖拽功能
這篇文章主要為大家詳細(xì)介紹了vue+element-ui+sortable.js實現(xiàn)表格拖拽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
詳解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
這篇文章主要介紹了詳解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
vue項目實現(xiàn)通過ip地址訪問和localhost訪問方式
這篇文章主要介紹了vue項目實現(xiàn)通過ip地址訪問和localhost訪問方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09

