导航守卫
解释:“导航”表示路由正在发生改变;
导航守卫的作用
Vue Router 提供的导航守卫主要用来通过跳转或者取消跳转的方式来守卫导航;一个简单的例子:从一个界面跳转到另一个新的界面中,如果需要满足特定的条件才能发生跳转,这时候就需要用到导航守卫(钩子函数),比如:从商品界面需要跳转到购物车界面,在这个过程中需要用户的登录状态,这样就可以在特定的导航钩子函数中进行判断,跳转还是取消跳转;
注意:当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行的,此时导航在所有守卫 解析 完之前一直处于等待中;也就是说导航的跳转与否完全取决于导航守卫,导航的跳转会在导航守卫在给出决定之前一直处于等待状态;
导航守卫的分类
一、全局导航守卫
全局导航守卫分为三种:
1.全局前置守卫 —— router.beforeEach()
我们可以使用 router.beforeEach() 注册一个全局前置守卫: