router.beforeEach()一般用来做一些进入页面的限制。比如没有登录,就不能进入某些页面,只有登录了之后才有权限查看某些页面。说白了就是路由跳转前根据业务逻辑判断是否拦截。
const whiteList = ["/login", "/loginpassword"];
// 全局路由守卫,如果不是登录状态,则到登录页面
router.beforeEach((to, from, next) => {
//验证token存在,则进入该页面
if (sessionStorage.token) {
next();
} else { //否则进入不需要验证token界面,(这里进入的是登录页面)
if (to.path === "/login" || whiteList.indexOf(to.path) !== -1) {
next();
} else {
next("/login");
}
}
});