今日讲讲导航守卫

简介: 今日讲讲导航守卫

路由独享守卫

写在每个路由配置的对象里

beforeEnter 进入前;应用场景:某个页面有单独的权限限制

不传或true代表允许通过
false代表不允许通过
字符串或对象,代表重定向到某一页面
{
path: '/about',
name: 'about',
component: about,
beforeEnter: (to, from) => {
return '/login';
}
},

全局守卫

写在路由实例上

beforeEach 进入前;应用场景:登录拦截

router.beforeEach((to, from) => {
// 获取uid等判断依据数据
let uid = 10
// 判断去的页面不是登录页且uid不存在
if (uid) {
if (to.path == '/login') {
// 如果登录了,且去的是登录页,重定向到首页
return '/'
} else {
return '/login';
}
}
})

beforeResolve 解析守卫,在所有组件内守卫和异步路由组件被解析之后调用

afterEach 后置守卫,对于分析、更改页面标题、声明页面、记录日志

组件级守卫

写在页面中

onBeforeRouteEnter 进入前

onBeforeRouteUpdate 在当前路由改变,但是该组件被复用时调用

onBeforeRouteLeave 在导航离开渲染该组件的对应路由时调用;可以在离开前进行校验

<script setup>
import { useRouter, onBeforeRouteLeave } from 'vue-router'
onBeforeRouteLeave(() => {
const answer = window.confirm(
'你真的想离开吗?您有未保存的更改!'
)
// 取消导航并停留在同一页面上
if (!answer) return false
})
</script>
相关文章
|
3天前
|
数据安全/隐私保护
导航守卫有哪三种?
导航守卫有哪三种?
16 0
|
3天前
|
JavaScript
vue-router的编程式导航有哪些方法?
vue-router的编程式导航有哪些方法?
10 0
|
4天前
导航守卫+vuex学习
直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他的事儿的时机,这就是导航守卫。 比如最常见的登录权限验证,当用户满足条件时,才让其进入导航,否则就取消跳转,并跳到登录页面让其登录。此时可以使用路由导航来实现。 导航守卫有三种:全局的, 单个路由独享的, 组件级的。
|
6月前
导航守卫的使用
导航守卫的使用
23 0
|
6月前
|
JavaScript
导航守卫有哪三种?分别有什么作用
导航守卫有哪三种?分别有什么作用
41 0
|
9月前
|
JavaScript
什么是导航守卫与应用场景
什么是导航守卫与应用场景
62 0
|
9月前
|
前端开发
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫2
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫2
29 0
|
9月前
|
前端开发
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫1
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫1
28 0
|
9月前
|
前端开发
前端学习笔记202304学习笔记第十九天-vue3.0-编程式导航实现后退效果
前端学习笔记202304学习笔记第十九天-vue3.0-编程式导航实现后退效果
36 0
|
12月前
|
前端开发
前端学习笔记202304学习笔记第十七天-vue3.0-导航守卫-如何声明导航守卫
前端学习笔记202304学习笔记第十七天-vue3.0-导航守卫-如何声明导航守卫
34 0