路由守卫 /路由拦截

1. 在访问一个页面的时候 也就是在进行路由跳转的时候,把这个跳转拦下来 做一些判断或者操作 然后来执行是继续访问这个页面还是执行别的操作
路由的导航守卫又叫 路由的生命周期函数 也叫 路由的钩子函数

路由的导航守卫 有三种六个

第一种 :全局守卫  全局守卫写在 router/index.js中,守卫所有的页面
有两个:
beforeEach 路由跳转之前
afterEach 路由跳转之后


// router.beforeEach((to, from, next) => {
//   // console.log("全局守卫");
//   // next(); //放行路由
//   if (localStorage.getItem("username")) {
//     next();
//     //如果本地存储中有 username证明已经登陆了 就执行下一步
//   } else {
//     if (to.path == "/login") {
//       next();
//     } else {
//       next("/login");
//     }
//     //为了防止死循环 如果是要跳转login 就放行 就不会死循环了,如果不是login就跳转到login
//   }
// });
//路由跳转之前执行



第二种:组件级守卫 要守卫哪个页面就写在哪个组件里
beforeRouteEnter 页面进入之前
beforeRouteUpdate 路由更新之前
beforeRouteLeave 页面离开之后
这三个 导航守卫 是选项对象 跟data同级

 beforeRouteEnter(to, from, next) {
    if (localStorage.getItem("username")) {
      next();
    } else {
      next("/login");
    }
  },
  //守卫这个页面(路由跳转之前) 如果登陆了就继续访问 没有就跳转登录页面


第三种:单个路由规则独享的守卫 放在要守卫的路由规则里
beforeEnter

 beforeEnter(to, from, next) {
          if (localStorage.getItem("username")) {
            next();
          } else {
            next("/login");
          }
        },
        //单个路由规则独享的守卫 跟组件级守卫功能一样 但是建议用组件级守卫


这些路由守卫都有三个参数 to from next
代表到哪儿去 从哪儿来 下一步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值