路由的导航守卫又叫做路由的钩子函数或者路由的生命周期函数,是在页面跳转的过程中到了某一个特定的时间节点会触发的钩子函数
有三种七个
全局守卫
beforeEach 全局前置守卫
beforeResolve 路由解析之前
afterEach 全局后置守卫
组件级守卫
beforeRouteEnter 路由进入之前
beforeRouteUpdate 路由更新之前
beforeRouteLeave 路由离开之前
单个路由独享守卫
beforeEnter 路由进入之前
这些导航守卫有三个参数 to from next to代表去哪里 from代表从哪里来 next代表执行下一步
导航守卫的使用场景
在写代码的过程中我一般用导航守卫进行页面的鉴权处理,在用户登陆成功的时候,我们会把token和用户信息存到vuex或者本地存储中,代表了用户的登陆状态,在访问某个页面的时候判断是否存有token,就能正常访问这个页面,如果没有token,那么就用next跳转到登陆页面
导航守卫的执行顺序
全局前置
独享前置守卫
组件前置守卫
全局解析守卫
后置守卫
beforeEach和beforeResolve的区别
这两个都是全局守卫,都是在路由跳转之前就会执行的守卫
beforeEach比beforeResolve执行的时间要早