在项目开发中,每次切换路由或更新页面时,都需要确定用户是否登录。 前端可以判断,后端也可以判断。 最好也判断一下前端。
vue-router提供了用于导航挂接:的全局前端导航挂接beforeEach和用于全局导航的挂接afterEach,在路由即将更改时和路由更改后触发因此,要确定用户是否登录,必须通过beforeEach导航挂接进行确定。
导航挂钩有三个参数。
1、to:即将进入的目标路由对象;
2、from:导航即将离开的根对象;
3、next :调用此方法后,可以进入下一个挂接函数(afterEach )。
next ()//中断直接到指向的根next(false )//当前根next () ) ) route ) /跳转指定根next ) ) (error ) /跳转错误根http://www.
实现用户验证的代码:
router.beforeeach((to,from,next ) ) /我模仿了在这里获取用户信息的方法let islogin=window.session storage.getitem ) next () else ) /用户token (如果不存在,则登录if(to.path==='login ' ) next () else (next ) )/login ' ) ) 389 跳到
与beforeEach不同,afterEach不接收第三个参数next函数,导航本身也不更改。 一般使用beforeEach最多,afterEach较少
不接收router.aftereach((to,from )={ //此处为nextconsole.log ) to )。 控制台. log (from; () )