业务场景:
如果用户已登录的情况下,跳转登录页时,会控制转到首页;
如果用户未登录的情况下,就跳转至登录页面;
// 路由守卫 router.beforeEach((to,from,next)=>{ let token = JSON.parse(localStorage.getItem('pro__token')); if (token) { if(to.path == "/home") { next() } if (to.path === '/login' || to.path === '/') { next({path: '/home'}) } } else { if (to.path === '/login' || to.path === '/') { next(); } else { alert('您还未登录,请先登录'); next('/login'); } } });
如果不加 to.path == "/home"这句的话,next({path: '/home'})就不会跳转,因为next的时候,会重新触发执行这个钩子