学习笔记Vue(二十一)—— 路由元信息

在定义路由的时候可以设置一个meta字段,里面是我们想要校验的值,比如页面上的某两个模块需要登录后才能查看,我们就在这两个路由上设置meta:

{
      path: '/learn',
      name: 'learn',
      meta: { //路由元信息
        login: true
      },
      component: ()=>{
        return import('./views/Learn');  //懒加载
      }
    },

如何访问这个meta字段呢?
通过路由导航守卫的to来查看:

//路由全局守卫
router.beforeEach((to, from, next)=> {
  console.log(to);
  console.log(to.matched); //路由里面包含的路径信息

  const needLogin = to.matched.some(item => item.meta && item.meta.login);
  if(needLogin){
    const isLogin = document.cookie.includes('login=true');
    if(isLogin){
      next();
    }else{
      const toLoginFlag = window.confirm('该页面需要登录后访问,要去登陆吗?');
      if(toLoginFlag){
        next('/login');
      }
    }

  }else{
      next();
  }
});

打印这个to,可以看到里面有meta这个字段:
在这里插入图片描述
但如果我们设置的路由有redirect重定向,这个meta字段就是空的。
这种情况就需要查看to.matched里面的值,matched里存放的是路由包含的路径的所有信息,打印这个matched:
在这里插入图片描述
这样就能找到meta字段了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值