PHP前端开发

vue中的路由守卫有哪些

百变鹏仔 3个月前 (09-25) #VUE
文章标签 路由
路由守卫是 vue.js 中用于拦截和修改页面导航的功能。vue 中有三种类型的路由守卫:全局守卫、特定路由守卫和组件内守卫。它们可用于验证用户登录、授予或拒绝访问、提示保存更改、执行异步操作等。

Vue 中的路由守卫

什么是路由守卫?

路由守卫是 Vue.js 中的功能,允许开发人员在特定条件下拦截和修改页面导航。

有哪些类型的路由守卫?

立即学习“前端免费学习笔记(深入)”;

Vue 中有三种类型的路由守卫:

如何使用路由守卫?

可以通过以下方式使用路由守卫:

路由守卫有什么用?

路由守卫可用于实现多种用途,包括:

示例:

使用全局守卫强制登录:

router.beforeEach((to, from, next) => {  if (to.fullPath !== '/login' && !localStorage.getItem('token')) {    next('/login');  } else {    next();  }});

使用组件内守卫在离开页面之前提示保存更改:

<template><button>Leave</button></template><script>export default {  beforeRouteLeave(to, from, next) {    if (this.hasUnsavedChanges) {      const confirmation = confirm('Do you want to leave without saving?');      if (confirmation) {        next();      }    } else {      next();    }  }};</script>