Vue 配合eiement動態(tài)路由,權(quán)限驗證的方法
1.要實現(xiàn)動態(tài)路由,只需要在main.js中將所有路由表先規(guī)定好,如下
const routes=[
{path:'/login',component:login},/*登錄*/
{path:'/home',component:home},/*首頁*/
{path:'/monitor',component:monitor},/*實時監(jiān)控*/
{path: "/orderQuery", component: orderQuery},/*電子圍欄*/
{path: "/fenceSet", component: fenceSet},/*電子圍欄*/
{path:'/orderCenter',component:orderCenter},/*訂單中心*/
{path:'/carctlExamine',component:carctlExamine},/*車管員審批*/
{path:'/partExamine',component:partExamine},/*部門領(lǐng)導(dǎo)審批*/
{path:'/vpExamine',component:vpExamine},/*副總審批*/
{path:'/distribute',component:distribute},/*調(diào)度派單*/
{path:'/receipt',component:receipt},/*回執(zhí)*/
{path:'/trajectory',component:trajectory},/*軌跡回放*/
{path:'/statistics',component:statistics },/*統(tǒng)計*/
{path:'/car',component:car},/*車輛管理*/
{path:'/user',component:user},/*用戶管理*/
{path:'/equipment',component:equipment},/*設(shè)備管理*/
{path:'/group',component:group},/*小組維護*/
{path:'/driver',component:driver},/*駕駛員管理*/
{path: '/company', component: company},/*公司管理*/
{path: '/adminManage', component: adminManage},/*公司員管理*/
{path: '/roleManage', component: roleManage},/*角色管理*/
{path:'/systemDaily',component:systemDaily },/*系統(tǒng)日志*/
];
2.把前端路由表發(fā)給后臺和后臺協(xié)商返回的數(shù)據(jù)形式,在app.vue中,使用《el=menu》循環(huán)出來后臺返回的路由表如下
<el-menu
:default-active="$route.path"
class="el-menu-demo"
mode="horizontal"
@select="handleSelect"
background-color="#545c64"
text-color="#fff"
active-text-color="#85ffca">
<el-menu-item :index="item.path" v-for="item in pathList"
v-if="item.path!=null" :key="item.id" >
<router-link :to="item.path">{{item.name}}</router-link>
</el-menu-item>/*一級導(dǎo)航*/
<el-submenu v-if="item.path==null" :key="item.id":index="item.name" v-for="item in pathList">
<template slot="title">{{item.name}}</template>
<el-menu-item v-for="child in item.children" :index="child.path"
:key="child.id" v-if="child.path!=null" >/*二級導(dǎo)航*/
<router-link :to="child.path">{{child.name}}</router-link>
</el-menu-item>
<el-submenu v-if="child.children!=[]&&child.path==null" v-for="child in item.children":key="child.id":index="child.name" >
<template slot="title">{{child.name}}</template>
<el-menu-item v-for="three in child.children":index="three.path":key="three.id">/*若存在三級導(dǎo)航*/
<router-link :to="three.path">{{three.name}}</router-link>
</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu>
這樣就可以在登錄的時候根據(jù)接口獲取到當(dāng)前用戶所擁有的權(quán)限以及路由表,這樣動態(tài)路由就做好了 。我們是根據(jù)頁面來確定權(quán)限的,沒有頁面就代表沒有權(quán)限無法查看頁面。
以上這篇Vue 配合eiement動態(tài)路由,權(quán)限驗證的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實現(xiàn)動態(tài)表單動態(tài)渲染組件的方式(2)
這篇文章主要為大家詳細介紹了vue實現(xiàn)動態(tài)表單動態(tài)渲染組件的方式第二篇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
iview中實現(xiàn)this.$Modal.confirm自定義彈出框換行加樣式
這篇文章主要介紹了iview中實現(xiàn)this.$Modal.confirm自定義彈出框換行加樣式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue+jquery實現(xiàn)表格指定列的文字收縮的示例代碼
這篇文章主要介紹了Vue+jquery實現(xiàn)表格指定列的文字收縮的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
vue3中template使用ref無需.value原因解析
vue3的template中使用ref變量無需使用.value,還可以在事件處理器中進行賦值操作時,無需使用.value就可以直接修改ref變量的值,這篇文章主要介紹了原來vue3中template使用ref無需.value是因為這個,需要的朋友可以參考下2024-06-06

