判斷使用者許可權,可以說是每乙個專案都會用到的,因此,提供給大家較為簡單的方法。
主要思想是通過判斷使用者登入後,根據後台返回的對應使用者許可權去驗證使用者是否可以進行相關的操作。
第一步,建立路由
提供部分**,用於解釋
,,
,}
注意:
meta物件中的islogin表示需要使用者登入後才能訪問相應頁面
meta物件中的roles表示使用者登入後所帶有的許可權
第二步,使用beforeeach方法
router.
beforeeach
((to,
from
,next)
=>
else
}else
}else
})
注意:
to,from,next三者分別代表,要去的頁面、當前的頁面、下一步
store.state.user.username、store.state.user.power為vuex中登入請求成功後,所儲存的使用者資訊,書寫時需要注意路徑是否一致
to.meta.roles.indexof(string(store.state.user.power),用於比對使用者許可權是否存在於meta.roles中,需要注意的是在vuex儲存的資料型別與meta.roles中的資料型別是否一致,如不一致需要進行型別轉換
Vue路由守衛
js const router new vuerouter 前置的鉤子函式 最後要執行next 才會跳轉 router.beforeeach to,from,next 後置的鉤子函式 已經跳轉了不需要next router.aftereach to,from 主要是簡單介紹一下,路由守衛主要用於檢驗...
vue 路由守衛
正如其名,vue router提供的導航守衛主要用來通過跳轉或取消的方式守衛導航。有多種機會植入路由導航過程中 全域性的,單個路由獨享的,或者元件級的。記住引數或查詢的改變並不會觸發進入 離開的導航守衛 可以使用router.beforeeach註冊乙個全域性前置守衛 import router f...
Vue路由守衛
我們在看一些網頁的時候如果想進一步了解一些東西的詳情資訊的話,當前的網頁就會讓我們進行登入,我們必須及逆行登入後才能夠看到我們想看到的詳情資訊,這個操作我們稱之為 路由守衛也是我們在做一些專案的時候必要進行的一步,如果我們不做這一步的話,自己所作專案中的所有的資料,不管是可以公共訪問的還是不能進行公...