欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue beforeeach auth

李中冰2年前9瀏覽0評論

vue-router中的beforeEach鉤子函數可以用于路由權限控制,以實現對某些路由只允許登錄用戶訪問的功能。

在路由配置中,需要使用meta配置項來標記某些路由需要登錄才能訪問:

const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/login',
name: 'Login',
component: Login
},
{
path: '/user',
name: 'User',
component: User,
meta: {
requireAuth: true
}
}
]

在全局注冊路由前,需要定義一個全局的beforeEach鉤子函數用于權限驗證:

const router = new VueRouter({
mode: 'history',
routes
})
router.beforeEach((to, from, next) =>{
if (to.matched.some(record =>record.meta.requireAuth)) {
if (!store.state.isLoggedIn) {
next({
path: '/login',
query: { redirect: to.fullPath }
})
} else {
next()
}
} else {
next()
}
})

在beforeEach鉤子函數中,如果該路由需要登錄才能訪問,那么判斷store中的isLoggedIn狀態,如果未登錄則重定向到登錄頁面。

通過這種方式,在路由導航時,只要配置好對應的meta信息,在前端就可以實現簡單的路由權限控制。