路由守卫
简单地说,就是在路由解析的过程中,通过钩子设置一些代码,以便于实现监听、控制、更改等操作。
全局守卫
全局守卫都是设置在 router 上面的,这个可以在 router/index.js 里面找到。可以在这里设置全局守卫,当然也可以在其他地方设置全局守卫,比如 main.js 或者 App.vue。这个看具体的需要了。
全局前置守卫 router.beforeEach
我们可以在 router/index.js 里面设置一个 前置守卫。
const router = createRouter({
history: createWebHistory(),
// base: '/blog/',
routes
})
router.beforeEach((to, from) => {
// ...
// 返回 false 以取消导航
console.log('全局路由——to:', to)
console.log('全局路由——from:', from)
return true
})
我们可以得到离开路由和目标路由,就是从哪里来的(from),以及要到哪里去(to)。
那么在这里我们可以做些什么呢?
设置浏览器的title
虽然现在的浏览器都是多标签的形式,每个窗口的title展示的空间都非常小,基本显示不了几个字,但是也还是要设置一下。那么就可以在这里统一设置一下。登录验证、权限验证
有些页面必须登录后才能访问,比如用户中心、管理后台等,有些页面还需要验证具体的权限,那么都可以在这里进行。其他
编程本就是很灵活的事情,所以没有啥强制要求。这里还可以放其他各种可以设置的功能。
未完待续...