路由守卫可以帮我们在路由跳转的同时进行一些逻辑处理(判断用户是否登录,判断用户权限等)
全局守卫
每次路由跳转都会被触发
eg模拟简单的登录条件
在视图组件中创建login页面,再到配置文件中设置路由
当 HAS_LOGINED = true 为false 用户无法实现页面跳转
路由独享的守卫
在路由列表中配置
组建内的守卫
每个组件都可以有三个钩子
完整的的导航解析流程
1.导航被触发
2.首先在失活的组件(即将离开的页面组件)调用离开守卫beforeRouteLeave
3.接下来调用全局的前置守卫beforeEach
4.在复用的组件里调用beforeRouteUpdate,如果没有复用则调用beforeRouteEnter
5.调用路由独享的守卫beforeEnter(在路由列表里配置)
6.解析异步路由组件
7.在被激活的组件(即将进入的组件)里调用beforeRouteEnter
8.调用全局的解析守卫beforeResolve
9.导航被确认
10.调用全局的后置守卫afterEach
11.触发DOM更新渲染
12.用创建好的实例调用beforeRouteEnter守卫里传给next的回调函数