导航守卫的使用

简介: 导航守卫的使用

直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他的事儿的时机,这就是导航守卫。

比如最常见的登录权限验证,当用户满足条件时,才让其进入导航,否则就取消跳转,并跳到登录页面让其登录。此时可以使用路由导航来实现。

导航守卫有三种:全局的, 单个路由独享的, 组件级的

一、单个路由

写在路由配置中

beforeEnter 有三个参数,to,from,next

beforeEnter: (to, form, next) => {
                console.log(to, form, next);
                next("/home")
            }

二、全局的

在router/index.js中

beforeEach 使用 router.beforeEach 注册一个全局前置守卫,有三个参数,to,from,next

beforeResolve 用 router.beforeResolve 注册一个全局解析守卫,在所有组件内守卫和异步路由组件被解析之后,解析守卫就被调用

afterEach 全局后置钩子,它没有next 参数,也不会改变导航本身,因为此时导航已经完成。

使用最多的还是beforeEach,例:

router.beforeEach((to, form, next) => {
    next()
})

三、组件内

作为属性写在组件内

beforeRouteEnter 此时组件实例还没被创建,不能获取组件实例this

beforeRouteUpdate 在当前路由改变,但是该组件被复用时调用,可以访问组件实例this

beforeRouteLeave 导航离开该组件的对应路由时调用,可以访问组件实例this

beforeRouteEnter((to, form, next) => {
    next()
})
目录
相关文章
|
6月前
|
数据安全/隐私保护
导航守卫有哪三种?
导航守卫有哪三种?
52 0
|
6月前
导航守卫的执行顺序
导航守卫的执行顺序
36 0
|
6月前
导航守卫+vuex学习
直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他的事儿的时机,这就是导航守卫。 比如最常见的登录权限验证,当用户满足条件时,才让其进入导航,否则就取消跳转,并跳到登录页面让其登录。此时可以使用路由导航来实现。 导航守卫有三种:全局的, 单个路由独享的, 组件级的。
|
6月前
|
JavaScript
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
vue路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
256 0
|
4月前
|
JavaScript
Vue Router 路由守卫/导航守卫
Vue Router 路由守卫/导航守卫
36 0
|
5月前
|
JavaScript 数据安全/隐私保护 开发者
导航守卫有哪三种?分别有什么作用
导航守卫有哪三种?分别有什么作用
131 0
|
6月前
|
JavaScript 前端开发
vue3中导航守卫
vue3中导航守卫
76 0
|
6月前
今日讲讲导航守卫
今日讲讲导航守卫
32 0
|
6月前
|
JavaScript
详解Vue3——设置导航守卫
详解Vue3——设置导航守卫
116 0
|
存储 JavaScript
vuex和导航守卫
vuex和导航守卫