vue 路由全局拦截beforeEach

beforeEach钩子函数有3个参数,to,from,next,遍历所有的路由实行拦截。

我们可以在路由映射表中增加元信息,可以实现全局拦截或者局部拦截的方式。有关于元信息可以去官网搜索mate。

to : 从哪来

from:到哪去

next:放行

router.js

let router = new Router({
routers:[
// 路由写在里面
]
})

beforeEach我们可以写在router.js里面

//全局守卫
router.beforeEach((to, from, next)=> {
// 判断是否登录
 if(sessionstorage.getItem("isLogin") == "1") {
		next()
 }else {
 	// 如果没有登录,但是跳转登录页面也放行
	if(to.name == 'login') {
		next()
	}else {
		// 如果没有登录,也不是去登录页,就拦截,让它跳转登录页
		next('/login')
	}
 }
);

你可能感兴趣的:(vue)