需求

最近接手一個(gè)后臺管理系統(tǒng),需要實(shí)現(xiàn)導(dǎo)航菜單從后臺拉取的效果;根據(jù)登錄用戶的權(quán)限不同分別拉出來的導(dǎo)航菜單也不一樣,另外可操作的界面也存在區(qū)別。
問題
因?yàn)楹笈_管理系統(tǒng)是準(zhǔn)備使用vue+vue-router+element-ui+vuex的搭配來做的,可是單頁應(yīng)用在進(jìn)入頁面之前就已經(jīng)將vue-router實(shí)例化并且注入vue實(shí)例中了,所以在進(jìn)入登錄頁面的時(shí)候舊沒辦法在重新定制路由了。接下來各種百之谷之,發(fā)現(xiàn)vue-router在2.0版本中提供了addRoutes方法添加路由,希望的曙光出現(xiàn)。
經(jīng)過一番折騰終于實(shí)現(xiàn)了功能,記錄下來便于回顧,也希望能幫助到同樣有需求的同志。
思路
1、首先在本地配置好固定不變的路由地址,例如登錄,404這些頁面,如下:
import Vue from 'vue'
import Router from 'vue-router'
import store from '@/vuex/store'
Vue.use(Router)
let router = new Router({
routes: [
{
path: '/login',
name: 'login',
meta: {requireAuth: false},
// 模塊使用異步加載
component: (resolve) => require(['../components/login/login.vue'], resolve)
}]
})
// 攔截登錄,token驗(yàn)證
router.beforeEach((to, from, next) => {
if (to.meta.requireAuth === undefined) {
if (store.state.token) {
next()
} else {
next({
path: '/login'
})
}
} else {
next()
}
})
export default router
分享標(biāo)題:vueaddRoutes實(shí)現(xiàn)動(dòng)態(tài)權(quán)限路由菜單的示例-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article20/cejdco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、標(biāo)簽優(yōu)化、ChatGPT、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容