今日讲讲导航守卫

简介: 今日讲讲导航守卫

路由独享守卫

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

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>
相关文章
|
7月前
导航守卫+vuex学习
直白的说,导航守卫就是路由跳转过程中的一些钩子函数,这些函数能让你在跳转过程中操作一些其他的事儿的时机,这就是导航守卫。 比如最常见的登录权限验证,当用户满足条件时,才让其进入导航,否则就取消跳转,并跳到登录页面让其登录。此时可以使用路由导航来实现。 导航守卫有三种:全局的, 单个路由独享的, 组件级的。
|
7月前
|
JavaScript
vue-router的编程式导航有哪些方法?
vue-router的编程式导航有哪些方法?
70 0
Vue3框架中路由的使用和局部刷新的功能(第十一课)
Vue3框架中路由的使用和局部刷新的功能(第十一课)
678 0
|
2月前
|
JavaScript
Vue-router的编程式导航有哪些方法?
Vue-router的编程式导航有哪些方法?
|
4月前
|
前端开发 测试技术 开发者
React Router的神奇之处:如何用导航与路由管理让你的复杂SPA飞起来?
【8月更文挑战第31天】本文全面解析了React Router——一款用于React应用的路由与导航管理库。通过定义不同路径并依据URL渲染组件,React Router支持路径匹配、参数路由及嵌套路由等多种模式。文章详细介绍了其基本与高级用法,如使用`Link`组件导航、`Switch`组件进行路径匹配及`NavLink`自定义活动链接样式。此外,还探讨了懒加载、代码分割等性能优化技巧,并提供了简单示例代码,帮助读者快速上手。遵循本文最佳实践,开发者能够更高效地利用React Router构建复杂的单页面应用。
88 0
|
6月前
|
JavaScript 数据安全/隐私保护 开发者
导航守卫有哪三种?分别有什么作用
导航守卫有哪三种?分别有什么作用
176 0
|
6月前
|
JavaScript Go
Vue-router的编程式导航有哪些方法
Vue-router的编程式导航有哪些方法
38 0
|
7月前
|
JavaScript 网络架构
超级英雄的导航之旅:动态路由和嵌套路由
超级英雄的导航之旅:动态路由和嵌套路由
|
前端开发
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫1
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫1
41 0
|
前端开发
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫2
前端学习笔记202305学习笔记第二十四天-vue3.0-路由守卫2
51 0