我理解的导航守卫 就是一座房子的保安 只有保安允许了才能访问页面
导航守卫一共有三种
全局的守卫 守卫所有的页面
beforeEach 路由前置守卫
beforeResolve 路由解析之前
afterEach 路由离开
全局守卫 beforeEach 和 beforeResolve
他们两个都会在路由跳转前就执行 参数都是 to from next
他们两个的区别 执行的时机不一样 beforeEach 是在路由规则被循环之前执行
beforResolve 是在组件被解析之后调用 beforeEach 要比 beforResolve 先执行
组件守卫 守卫单个组件
beforeRouteEnter 路由进入
beforeRouteUpdate 路由更新
beforeRouteLeave 路由离开
独享守卫 守卫单个页面
beforeEnter 路由进入之前
三种守卫全局 组件 独享守卫的区别:
1. 作用范围不同 全局作用于所有页面 组件作用于单个组件 独享也是守卫单个页面
2. 代码写的位置不一样 全局守卫写在 router/index.js 中 组件守卫写在组件里 跟 data 同级 独享卫写在路由规则里
3. 执行顺序有区别
beforeEach 前置守卫
beforeEnter 独享守卫
beforeRouteEnter 组件守卫
beforeResolve 解析守卫
afterEach 路由后置守卫