在日常工作中,我們需要將匹配到的所有路由,映射到一個組件上。 如下代碼想要達到的效果: 不傳page和id,則映射到user預設list頁面 傳page和id,根據page不同,顯示不同的頁面 問題 使用以下代碼片段是不能實現以上效果的,因為預設情況下page和id參數是必傳的,如果不傳參數,則會根 ...
在日常工作中,我們需要將匹配到的所有路由,映射到一個組件上。
如下代碼想要達到的效果:
不傳page和id,則映射到user預設list頁面
傳page和id,根據page不同,顯示不同的頁面
問題
使用以下代碼片段是不能實現以上效果的,因為預設情況下page和id參數是必傳的,如果不傳參數,則會根據預設路由跳轉到home頁面
new Router({
routes: [
{
path: '/user/:page/:id',
name: 'User',
component: () => import('pages/user')
},
{
path: '*',
redirect: '/home'
}
]
})
解決方法
參數配置改成可選的
path: '/user/:page?/:id?'