路由元信息

6.2 路由元信息类型扩展模式 阅读详情

我们在做网站登录验证的时候,可以使用到beforeEach 钩子函数进行验证操作,如下面代码 ,如果页面path为’/goodsList’,那么就让它跳转到登录页面,实现了验证登录。

router.beforeEach((to, from, next) => {
  if (to.path === '/goodsList') {
    next('/login')
  } else 
    next()
})

如果需要登录验证的网页多了怎么办?

1.这里是对比path。如果需要验证的网页很多,那么在if条件里得写下所有的路由地址,将会是非常麻烦的一件事情。

2.因为路由是可以嵌套的。有’/goodsList’,那么可能会有’/goodsList/online’,再或者还有’/goodsList/offline’、’/goodsList/audit’、’/goodsList/online/edit’等等。

如果像刚才例子中这样对比(to.path === ‘/goodsList’),就非常单一,其他的路径压根不会限制(验证)到,照样能正常登陆!因为每个to.path根本不一样。

我们所理想的就是把’/goodsList’限制了,其他所有的以’/goodsList’开头的那些页面都给限制到!

to Route: 即将要进入的目标 路由对象 
我们打印一下to

它有很多属性,有 
- fullPath 
- hash 
- matched 
- meta 
- name 
- params 
- path 
- query

其中有个属性,matched,就是匹配了的路由,我们打印出来,这个是个数组。它的第一项就是{path: “/goodslist”},一直到最为具体的当前path (例如:{path: “/goodslist/online/edit”})

这里可以循环matched这个数组,看每一项的path 有没有等于’/goodsList’,只要其中一个有,那么就让它跳转到登录状态

router.beforeEach((to, from, next) => {
  if (to.matched.some(function (item) {
    return item.path == '/goodslist'
  })) {
    next('/login')
  } else 
    next()
})

那么这里只是对goodsList进行验证判断,且限制的还是path,如果页面中还有会员列表、资讯列表、广告列表都需要进行验证的时候,用path来做限制似乎有点不好用。轮到主角登场了

meta字段(元数据)

直接在路由配置的时候,给每个路由添加一个自定义的meta对象,在meta对象中可以设置一些状态,来进行一些操作。用它来做登录校验再合适不过了

{
  path: '/actile',
  name: 'Actile',
  component: Actile,
  meta: {
    login_require: false
  },
},
{
  path: '/goodslist',
  name: 'goodslist',
  component: Goodslist,
  meta: {
    login_require: true
  },
  children:[
    {
      path: 'online',
      component: GoodslistOnline
    }
  ]
}

这里我们只需要判断item下面的meta对象中的login_require是不是true,就可以做一些限制了

router.beforeEach((to, from, next) => {
  if (to.matched.some(function (item) {
    return item.meta.login_require
  })) {
    next('/login')
  } else 
    next()
})
从理论到实践:TRL去嵌入校准在国产矢量网络分析仪上的应用全解析 本文全面解析了TRL去嵌入校准技术在国产矢量网络分析仪上的应用实践,从核心算法到工程实现。详细介绍了TRL校准的数学原理、国产VNA的程控接口开发、校准件质量评估及测量不确定度控制策略,帮助工程师掌握高频器件测量的关键技术。 阅读详情

相关推荐

Windows 11最新WDK安装避坑指南:从Visual Studio配置到KMDF驱动开发

本文提供了在Windows 11系统上进行KMDF驱动开发的完整环境搭建与实战指南。针对最新WDK与Visual Studio的配置变化,详细解析了从独立安装WDK/SDK、创建首个KMDF驱动项目,到编译排错、部署调试的全流程,帮助开发者高效避坑,顺利开启Windows内核开发。

weixin_29302047的博客 529

终于搞明白了路由元信息是个啥了

为什么会有路由元信息这个东西? 我们在做网站登录验证的时候,可以使用到beforeEach 钩子函数进行验证操作,如下面代码 ,如果页面path为’/goodsList’,那么就让它跳转到登录页面,实现了验证登录。 router.beforeEach((to, from, next) => { if (to.path === '/goodsList') { next('/log

cofecode的博客 1万+

基于MicroBlaze与LWIP的FPGA以太网通信实战指南

本文详细介绍了基于MicroBlaze软核处理器与LWIP协议栈的FPGA以太网通信实现方案。通过Vivado工具链配置硬件设计,结合LWIP轻量级TCP/IP协议栈优化,提供高效、低成本的嵌入式网络解决方案,适用于工业控制等场景。文章包含硬件设计、软件配置及常见问题排查等实战指南。

weixin_29290863的博客 534

vue中meta路由元信息

路由元信息: meta: 每个路由的标识信息,是路由独有的一个信息,无论在路由中是否定义meta,在组件中都可以通过this.$route.meta访问到,如果没有定义,返回{} 在组件中: this.$route.meta获取该组件的路由元信息,如果未定义,则返回{} 在路由中: 通过router.beforeEach((to,from,next)=>{       console.log(to.meta)   })    给每个路由的配置项多一个meta属性 meta:{   } 路由

qq_40922656的博客 2968

利用CANoe和CAPL实现高效CAN网关设计与仿真

本文详细介绍了如何利用CANoe和CAPL进行高效CAN网关的设计与仿真。通过搭建仿真工程、导入DBC数据库、编写CAPL脚本等步骤,手把手指导读者构建一个连接不同CAN网络的网关模型,实现报文的监听、转发与信号处理,从而在硬件开发前验证逻辑,提升汽车电子开发效率与可靠性。

weixin_29164091的博客 294

智能车赛道识别:八邻域算法的实战解析与优化

本文深入解析了智能车赛道识别中八邻域算法的核心原理与实战优化。作为兼顾性能与稳定性的经典方案,该算法通过模拟探险家环顾八方的策略,能精准追踪弯道与直道边界。文章详细拆解了代码逻辑,并提供了边界平滑、异常处理及应对十字路口、环岛等复杂场景的关键优化策略,助力开发者提升智能车视觉系统的鲁棒性与实时性。

weixin_29228781的博客 262

vue-router路由元信息

一、官方文档   路由元信息:定义路由的时候可以配置 meta 字段 值对象 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: [ { path: 'bar', compo...

muzidigbig的博客 2291

用angr找到strcpy的栈溢出漏洞

这篇文章其实是分析angr文档里给出的一个挖漏洞的小例子。 原文链接在此:https://docs.angr.io/examples#beginner-vulnerability-discovery-example-strcpy_find 这是第一个用angr在二进制里找可利用条件的教程。第一个例子是一个非常简单的程序。这个angr脚本会从程序的entry到strcpy找到一条路径。(只有我们能够控制strcpy的参数的时候) 为了找到正确的路径,angr需要去算一个密码参数,算这个密码,angr只要2s

^_^ 1220

看完你就知道什么是路由元信息了

路由元信息

m0_60970928的博客 247

基于PyQt5和OpenCV的传统图像分割应用UI程序

主要功能包括:加载和显示图像应用多种图像分割算法调整算法参数保存处理结果。

Henry的博客 473

OSError We couldn‘t connect to https://huggingface.co to load file, couldn‘t find it chatglm3-6b解决方案

本文主要介绍了OSError: We couldn’t connect to https://huggingface.co to load this file, couldn’t find it in the cached files and it looks like THUDM/chatglm3-6b is not the path to a directory containing a file named config.json.解决方案,希望能对学习python的同学们有所帮助。

weixin_43178406的博客 5万+

vue-router路由元信息详解

2、if (to.matched.some(record => record.meta.requiresAuth) ),如果对这类写法不熟悉,可以去看看es6的箭头函数,这句话就是返回遍历的某个路由对象,我们定义为为record,检测这个对象是否拥有meta这个对象,如果有meta这个对象,检测它的meta对象是不是有requiresAuth这个属性,且为true,如果满足上述条件,就确定了是这个/foo/bar路由。路由记录可以是嵌套的,因此,当一个路由匹配成功后,他可能匹配多个路由记录。

qq_47443027的博客 4350

非技术面试题精选大全

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。

吃面爱放香菜的博客 436

对路由元信息meta的理解

为什么会有路由元信息这个东西? 在原文上加了自己的理解 我们在做网站登录验证的时候,可以使用到beforeEach 钩子函数进行验证操作,如下面代码 ,如果页面path为’/goodsList’,那么就让它跳转到登录页面,实现了验证登录。 router.beforeEach((to, from, next) => { if (to.path === '/goodsList') { next('/login') } else next() }) 如果需要登录验证的网页多了怎么

weixin_48271592的博客 2705

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

vue-router 路由元信息 终于搞明白了路由元信息是个啥了

vue-router 路由元信息:https://blog.youkuaiyun.com/wenyun_kang/article/details/70987840 终于搞明白了路由元信息是个啥了:https://blog.youkuaiyun.com/cofecode/article/details/79181894 一、背景 之前写前端都是后端返回界面,跳转神马的完全不用自己操心,但是这次用 vue ...

weixin_30642267的博客 469

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Vue-Router】路由元信息

路由元信息(Route Meta Information)是在路由配置中为每个路由定义的一组自定义数据。这些数据可以包含任何你希望在路由中传递和使用的信息,比如权限、页面标题、布局设置等。Vue Router 允许你在路由配置中定义元信息,然后在组件中访问这些信息。/* 注意 style 标签 别加 scoped 不然设置宽高不生效 */在 Vue Router 中,你可以通过。字段来定义路由的元信息。

小秀的博客 1336

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

vue-router 路由元信息

const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, meta: { requiresAuth: true }// a meta field } ] })

粉刷匠 1万+

vue路由元信息

一直没有仔细总结过路由缓存的方法,在这里简单总结下 使用keep-alive + router-view组件 keep-alive是Vue内置的一个组件,通常是用来保留数据状态或避免重复渲染,也就是我们说的缓存效果;

qq_44473483的博客 408

10-路由元信息

路由元信息: 定义路由的时候可以配置 meta 字段 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, children: [ { path: 'bar', com...

weixin_41802265的博客 289

9、路由元信息

目录介绍路由元信息meta具体用法 介绍 学习vue-router的一些学习笔记,所有笔记内容请看 vue-router学习笔记 路由元信息 定义路由的时候可以配置meta字段,如下所示: const router = new VueRouter({ routes:[ { path:'/foo', component:Foo,...

MoonNight608的博客 442

《Vue Router实战教程》14.路由元信息

我们需要遍历这个数组来检查路由记录中的 meta 字段,但是 Vue Router 还为你提供了一个 route.meta 方法,它是一个非递归合并所有 meta 字段(从父字段到子字段)的方法。这意味着你可以简单地写。例如,根据上面的路由配置,/posts/new 这个 URL 将会匹配父路由记录 (path: '/posts') 以及子路由记录 (path: 'new')。// 这段可以直接添加到你的任何 `.ts` 文件中,例如 `router.ts`// 也可以添加到一个 `.d.ts` 文件中。

大强博客 1123

路由元信息:为路由添加额外数据与逻辑(附完整代码)

Vue Router元信息应用指南:本文介绍了Vue Router中路由元信息的功能与使用方法。路由元信息通过在路由配置中添加meta字段实现,可存储额外数据如权限标识、页面标题等。主要应用场景包括:1)在导航守卫中实现登录验证和权限控制;2)在组件中动态设置页面标题;3)自定义路由过渡动画。文中提供了完整代码示例,展示了如何定义元信息字段并在导航守卫和组件中调用这些信息,实现灵活的路由控制和个性化功能。路由元信息为Vue项目提供了更强大的路由管理能力。

fykam的博客 1013

第九章——路由元信息

有时我们想将一些信息附加到路由上,如过渡名称、谁可以访问路由等。这些事情可以通过接收属性对象的。属性来实现,并且它可以在路由地址和导航守卫上都被访问到。定义路由的时候你可以这样配置。在组件中可以通过 this.$route.meta 来获取。如果不使用扩展 将会是 unknow 类型。中访问路由的元信息数据。

小余的前端博客 712
上一篇: 什么是dom模板?什么是字符串模板?两者有什么关系?
下一篇: vue keep-alive用法
Uncle_long
博客等级 码龄10年 17粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值