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 相关文章推荐
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
javascript学习笔记(八) js内置对象
Jun 19 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
Oct 17 Javascript
js使用心得分享
Jan 13 Javascript
javascript中Object使用详解
Jan 26 Javascript
JS实现很酷的EMAIL地址添加功能实例
Feb 28 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
Aug 10 Javascript
jquery获取文档高度和窗口高度汇总
Jan 25 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
document.all与WEB标准
2020/05/13 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
js网页侧边随页面滚动广告效果实现
2011/04/14 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
js用Date对象处理时间实现思路及代码
2013/01/31 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JS限制条件补全问题实例分析
2016/12/16 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
跟老齐学Python之关于类的初步认识
2014/10/11 Python
python运行时间的几种方法
2016/06/17 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
Django如何配置mysql数据库
2018/05/04 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
python利用线程实现多任务
2020/09/18 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
C#基础面试题
2016/10/17 面试题
七年级音乐教学反思
2014/01/26 职场文书
网上卖盒饭创业计划书范文
2014/02/07 职场文书
学生会主席演讲稿
2014/04/25 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
师范生教育见习总结
2015/06/23 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
SpringBoot Http远程调用的方法
2022/08/14 Java/Android