(已解决)什么是vue导航守卫

vue导航守卫是是一种Vue Router内置的功能,它可以让我们在路由切换的过程中执行自定义的代码逻辑。
举一个简单的例子:

import Vue from 'vue';
import Router from 'vue-router';

Vue.use(Router);

const router = new Router({
  // 路由配置...
});

// 全局前置导航守卫
router.beforeEach((to, from, next) => {
  // 获取当前用户的登录状态(这里仅作示例,实际项目中可能来自vuex或localStorage)
  let isLoggedIn = !!localStorage.getItem('userToken');

  if (to.meta.requiresAuth && !isLoggedIn) {
    // 判断目标路由是否要求认证(通过meta字段标记),若未登录则重定向到登录页面
    next({ path: '/login', query: { redirect: to.fullPath } });
  } else {
    // 用户已登录或目标路由无需认证,允许继续导航
    next();
  }
});

export default router;

在这个例子中,每当试图切换到一个设置了 requiresAuth: true 的路由时,导航守卫会先检查用户是否已经登录(通过检查localStorage中的token)。如果没有登录,它会阻止原本的跳转操作,并将用户重定向到登录页面。如果用户已登录,则放行,允许路由正常跳转。这就是Vue导航守卫在实际应用场景中起到的作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值