Vue路由对象属性 .meta $route.matched详解


Posted in Javascript onNovember 04, 2019

$route.fullPath

1 路由是:/path/:type真正路径是:/path/list

2 path匹配路径: /path/list

3 fullPath匹配路由: /path/:type

路由元信息 .meta

const router = new VueRouter({
 routes: [
  {
   path: '/foo',
   component: Foo,
   children: [
    {
     path: 'bar',
     component: Bar,
     // a meta field
     meta: { requiresAuth: true ,keepAlive:true}//1.权限 2.内存缓存,单页面切换
    }
   ]
  }
 ]
})

先理解什么是路由记录 : 路由记录就是 routes 配置数组中的对象副本 (还有在 children 数组)。

上方代码中的路由记录见下方:

//一级路由 
  {
   path: '/foo',
   component: Foo,
   children: [
    {
     path: 'bar',
     component: Bar,
     // a meta field
     meta: { requiresAuth: true ,keepAlive:true}//1.权限 2.内存缓存,单页面切换
    }
   ]
  }
 
 
//一级路由的子路由
 
  { path: 'bar',component: Bar,meta: { requiresAuth: true ,keepAlive:true } }
 
 
//两者都是  路由记录

1 定义路由的时候可以配置 meta 字段

2 根据上面的路由配置,/foo/bar 这个 URL 将会匹配父路由记录以及子路由记录

3 一个路由匹配到的所有路由记录会暴露为 $route 对象 (还有在导航守卫中的路由对象) 的 $route.matched 数组。

4 检查路由记录中的 meta 字段 ,我们需要遍历 $route.matched

$route.matched

1 一个数组,包含当前路由的所有嵌套路径片段的路由记录

2 一个路由匹配到的所有路由记录会暴露为 $route 对象 (还有在导航守卫中的路由对象) 的 $route.matched 数组

路由元信息 .meta $route.matched 搭配路由守卫 进行验证

router.beforeEach((to, from, next) => {
 if (to.matched.some(record => record.meta.requiresAuth)) {
  // this route requires auth, check if logged in
  // if not, redirect to login page.
  if (!auth.loggedIn()) {
   next({
    path: '/login',
    query: { redirect: to.fullPath }
   })
  } else {
   next()
  }
 } else {
  next() // 确保一定要调用 next()
 }
})

以上这篇Vue路由对象属性 .meta $route.matched详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
详解强大的jQuery选择器之基本选择器、层次选择器
Feb 07 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
PHP结合jQuery实现的评论顶、踩功能
Jul 22 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
Aug 02 Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
May 03 Javascript
javascript网页随机点名实现过程解析
Oct 15 Javascript
vue实现购物车选择功能
Jan 10 Javascript
JavaScript中的LHS和RHS分析详情
Apr 06 Javascript
element-ui table组件如何使用render属性的实现
Nov 04 #Javascript
Vue 解决多级动态面包屑导航的问题
Nov 04 #Javascript
vue+elementUI动态生成面包屑导航教程
Nov 04 #Javascript
VUE+elementui面包屑实现动态路由详解
Nov 04 #Javascript
Vuex,iView UI面包屑导航使用扩展详解
Nov 04 #Javascript
vue双向绑定数据限制长度的方法
Nov 04 #Javascript
使用p5.js临摹动态图片
Nov 04 #Javascript
You might like
无线电的诞生过程
2021/03/01 无线电
php实现读取超大文件的方法
2014/07/28 PHP
Laravel下生成验证码的类
2017/11/15 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
JS画5角星方法介绍
2013/09/17 Javascript
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
js编写选项卡效果
2017/05/23 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
如何使用puppet替换文件中的string
2018/12/06 Javascript
ES6 Class中实现私有属性的一些方法总结
2019/07/08 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python实现复制整个目录的方法
2015/05/12 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
python3射线法判断点是否在多边形内
2019/06/28 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
树转促学习心得体会
2014/09/10 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
Hive导入csv文件示例
2022/06/25 数据库