1 分类
路由守卫:全局路由守卫,路由独享守卫,路由组件内守卫
拦截器:请求拦截器(request),响应拦截器(response)
2 作用
路由守卫作用:
先说我的理解,路由守卫类似一个安保系统,要向进入园区,必须经过安保的同意,同意了就放行,继续操作,那么路由守卫也是一样的
拦截器的作用:
我的理解是拦截请求和响应,比如在登录一个页面的时候,当用户不输入密码或者输入错误,或者想要跳过这步操作,就会进行拦截,让你进行一个登录的操作,当然重定向也可以实现
共同点:都是对操作进行防护,都类似一个安保系统,对不安全的操作进行防卫,就比如登录页面,只有通过登录才可以进行之后的操作,那么路由守卫和拦截器都能够实现这一操作
3 作用点(什么时候该用什么)
对于路由守卫:
全局前置守卫:用于验证token是否有效,开启进度条
全局后置守卫:关闭进度条
路由独享守卫:进入当前路由要干啥就在这里处理,如该车间就该做该车间该做的事情
组件内守卫:
beforeRouteEnter(to, from, next) {
console.log('组件内路由前置守卫 beforeRouteEnter', this) // 访问不到this
next((vm) => {
console.log('组件内路由前置守卫 vm', vm) // vm 就是this
})
},
beforeRouteUpdate(to