vue router動態(tài)路由設置參數(shù)可選問題
在日常工作中,我們需要將匹配到的所有路由,映射到一個組件上。
如下代碼想要達到的效果:
不傳page和id,則映射到user默認list頁面
傳page和id,根據(jù)page不同,顯示不同的頁面
問題
使用以下代碼片段是不能實現(xiàn)以上效果的,因為默認情況下page和id參數(shù)是必傳的,如果不傳參數(shù),則會根據(jù)默認路由跳轉到home頁面
new Router({
routes: [
{
path: '/user/:page/:id',
name: 'User',
component: () => import('pages/user')
},
{
path: '*',
redirect: '/home'
}
]
})
解決方法
參數(shù)配置改成可選的
path: '/user/:page?/:id?'
ps:下面看下vue-router 動態(tài)添加 路由
動態(tài)添加路由可以用了做權限管理。登錄后服務器端返回權限菜單,前端動態(tài)添加路由 然后在設置菜單
1、vue-router 有方法router.addRoutes(routes) 動態(tài)添加更多的路由規(guī)則。參數(shù)必須是一個符合 routes 選項要求的數(shù)組。
使用方法
this.$router.options.routes[0].children.push({//插入路由
name:'list',
path: 'list',
component: resolve => require(['../template/list.vue'], resolve)//將組件用require引進來
});
this.$router.addRoutes(this.$router.options.routes);//調(diào)用addRoutes添加路由
我的路由文件:
export default new Router({
routes: [
{
path: '/',
component: index,
},
{
path: '/login',
name: 'login',
component: login
}
]
總結
以上所述是小編給大家介紹的vue router動態(tài)路由設置參數(shù)可選問題,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
- vue?router進行路由跳轉并攜帶參數(shù)的實例詳解(params/query)
- Vue中$router.push()路由切換及如何傳參和獲取參數(shù)
- vue-router路由傳參及隱藏參數(shù)問題
- vue-router如何實時動態(tài)替換路由參數(shù)(地址欄參數(shù))
- Vue3使用vue-router如何實現(xiàn)路由跳轉與參數(shù)獲取
- 如何處理vue router 路由傳參刷新頁面參數(shù)丟失
- vue-router路由參數(shù)刷新消失的問題解決方法
- 詳解vue-router2.0動態(tài)路由獲取參數(shù)
- Vue Router中獲取路由傳遞過來的參數(shù)(方法詳解)
相關文章
element-ui 表格sortable排序手動js清除方式
這篇文章主要介紹了element-ui 表格sortable排序手動js清除方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
vue內(nèi)置組件transition簡單原理圖文詳解(小結)
這篇文章主要介紹了vue內(nèi)置組件transition簡單原理圖文詳解(小結),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07

