vue路由結(jié)構(gòu)可設(shè)一層方便動態(tài)添加路由操作
動態(tài)添加路由基本功能
let routes=[{ path: ’/login’, name: ’login’, component: () => import(’../components/Login.vue’) }]
this.$router.addRoutes(routes)
涉及多層路由嵌套 如圖

單純使用addRoutes 層級結(jié)構(gòu)不同
修改路由結(jié)構(gòu)
例:
{ name:’account’, path: ’/account/account’, meta: { title: ’個人中心’, requireAuth: true }, component: account, children:[ { name: ’account’, path: ’/account/account’, meta: {title: ’賬號設(shè)置’,requireAuth: true }, component: setAccount, }, { name: ’childMgt’, path: ’/account/childMgt’, meta: {title: ’子賬號管理’,requireAuth: true }, component: childMgt, }, ]},
修改單一結(jié)構(gòu)
{ name:’account’, path: ’/account/account’, meta: { title: ’個人中心’, requireAuth: true }, component: account, children:[ { name: ’account’, path: ’/account/account’, meta: {title: ’賬號設(shè)置’,requireAuth: true }, component: setAccount, }, ]},{ name:’account’, path: ’/account/childMgt’, meta: { title: ’個人中心’, requireAuth: true }, component: account, children:[ { name: ’userMgt’, path: ’/account/childMgt’, meta: {title: ’子賬號管理’,requireAuth: true }, component: childMgt, }, ]},
每一層單獨包含一個子集合方便權(quán)限管理動態(tài)添加
main.js
router.beforeEach((to, from, next) => { if (from.name == null) { //頁面刷新 let pathName = sessionStorage.getItem('pathName') //暫存上一個路由 if (pathName == to.path||pathName==to.redirectedFrom) { } else { sessionStorage.setItem('pathName', to.redirectedFrom) } } else { sessionStorage.setItem('pathName', to.path) } next()})
app.vue
let routes=[處理后路由信息]this.$router.addRoutes(routes)this.$nextTick(i=>{ this.$router.replace(sessionStorage.getItem('pathName'))//跳轉(zhuǎn)指定地址 否則404})
補充知識:vue路由進入下一層返回上一層重復跳轉(zhuǎn)之前進入頁面
說明
vue路由返回上一層,使用 this.$router.back(-1)
進入其他頁面用 this.$outer.push(’home’)
這樣當我進入頁面會發(fā)生如下場景
進入頁面時:A-B-C
返回頁面時:C-B-A
總的路徑行程:A-B-C-B-A
總的來是:頁面返回時重復返回上一層
解決
官方文檔

this.$outer.push(’home’) // 會重復添加路由信息進入路由記錄
this.$outer.replace(’home’) // 會替換之前的路由記錄
this.$outer.replace(’home’) // 跳轉(zhuǎn)頁面推薦用這個
以上這篇vue路由結(jié)構(gòu)可設(shè)一層方便動態(tài)添加路由操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 編程語言PHP在Web開發(fā)領(lǐng)域的優(yōu)勢在哪?2. 什么是python的自省3. 詳解Android studio 動態(tài)fragment的用法4. 基于android studio的layout的xml文件的創(chuàng)建方式5. Android如何加載Base64編碼格式圖片6. .Net Core使用Coravel實現(xiàn)任務(wù)調(diào)度的完整步驟7. 解決Android studio xml界面無法預覽問題8. 在IDEA中實現(xiàn)同時運行2個相同的java程序9. 圖文詳解vue中proto文件的函數(shù)調(diào)用10. Vuex localStorage的具體使用

網(wǎng)公網(wǎng)安備