路由守卫分为哪几种?
全局守卫,组件级守卫,单个独享守卫
全局守卫
是指路由实例上直接操作的钩子函数,特点是所有路由配置的组件都会触发,直白点就是触发路由就会触发这些钩子函数
全局守卫又分为全局前置守卫(router.beforeEach)和全局后置钩子(router.afterEach),还有一个router.beforeReslove(2.5.0+) — 在beforeRouteEnter调用之后调用
全局前置守卫(router.beforeEach)
在router下面的jindex.js下面写:
router.beforeEach((to,from,next) => {
to: 即将要进入的路由对象
from: 即将要离开的路由对象,
next(): 这个参数是个函数,且必须调用,否则不能进入路由(空白页面)
next(): 进入该路由
next(false):取消进入路由,url地址重置为from路由地址(也就是将要离开的路由地址)
next:跳转新路由,当前的导航被中断,重新开始一个新的导航
})
打印结果如下:
全局后置钩子(router.afterEach)