目录

  • 1. 动态匹配路由的基本用法
  • 2. 路由组件传递参数
    • 2.1 props 的值为布尔类型
    • 2.2 props 的值为对象类型
    • 2.3 props的值为函数类型

1. 动态匹配路由的基本用法

【应用场景】:通过动态路由 参数 的模式进行路由匹配。

var router = new VueRouter({routes: [// 动态路径参数 以冒号开头{ path: '/user/:id', component: User }]
})

即在路由规则中,把动态的部分在前面加上冒号(:), 冒号就代表当前这个位置匹配的是动态参数,匹配成功后,在 User组件中就可以访问到当前匹配到的 id 值。

那么,如何来访问这个id值呢?请看下面的语法,我们是通过 $route.params 这个对象 获取到这个动态匹配到的路由参数。

const User = {// 路由组件中通过 $route.params 获取路由参数template: '<div>User {{ $route.params.id }}</div>'
}

2. 路由组件传递参数

$route与对应路由形成高度耦合,不够灵活,所以可以使用props将组件和路由解耦。

2.1 props 的值为布尔类型

const router = new VueRouter({routes: [// 如果 props 被设置为 true,route.params 将会被设置为组件属性{ path: '/user/:id', component: User, props: true}]
})const User = {props: ['id'], // 使用 props 接收路由参数template: '<div> 用户 ID:{{ id }} </div>' // 使用路由参数
}

props: true:表示给这个规则开启了传参;
props: ['id'] :定义了 id 这个路由参数。

2.2 props 的值为对象类型

const router = new VueRouter({routes: [// 如果 props 是一个对象,它会被按原样设置为组件属性{ path: '/user/:id', component: User, props: { uname: 'lisi', age: 12 }}]})const User = {props: ['uname', 'age'],template: ‘<div>用户信息:{{ uname + '---' + age}}</div>'
}

2.3 props的值为函数类型

const router = new VueRouter({routes: [// 如果 props 是一个函数,则这个函数接收 route 对象为自己的形参{ path: '/user/:id',component: User,props: route => ({uname: 'zs', age: 20, id: route.params.id })}]
})const User = {props: ['uname', 'age', 'id'],template: ‘<div>用户信息:{{ uname + '---' + age + '---' + id}}</div>'
}

注: ,props: route => 这里的 route 即是路由中的动态参数对象,:id中有几个参数项,则route中就有几个参数值。那么,在箭头函数的函数体中,可以返回一个props对象。 id 值就可通过route动态匹配:id 获取(id: route.params.id

vue-router 动态路由匹配相关推荐

  1. 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由

    嵌套路由 通过路由实现组件的嵌套展示 在about内嵌套路由 <template><div class="about-container"><h3&g ...

  2. 【VUE】Vue动态路由匹配路由

    [VUE] vue-router 动态路由匹配 我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件.例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染.那 ...

  3. vue-router详尽:编程式导航、路由重定向、动态路由匹配、路由别名、嵌套路由、命名视图

    vue-router编程式导航 在vue项目中经常用到this.$router.push() 和 this.$router.replace() 方法进行路由跳转就是编程式导航... 通俗理解编程式导航 ...

  4. vue将每个路由打包成html,Ant Design Vue pro 动态路由的实现和打包

    Ant Design Vue pro 动态路由的实现和打包 Ant Design Vue pro 动态路由的实现和打包 配置路由权限 在config文件夹下router.config.js中配置路由权 ...

  5. Vue Router 实现路由控制实战

    本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习. Vue Router 实现路由控制实战 前言 一.什么是单页面应用及实现前端路 ...

  6. 面试考问Vue Router 的路由模式,这个回答令我直接出局!

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  7. 你真的理解 Vue Router 的路由模式吗?

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  8. 面试考问Vue Router 的路由模式,这个回答令我直接出局~

    HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...

  9. vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)

    因为一些原因,我断更了几天时间,因为要准备面试 + 不在家,抱歉大家! 题图是一个大概的 Vue 模块化项目组成,当然因为我从网上找的,所以可以忽略当中的 Bulma,这其实是一个 CSS 框架,往简 ...

  10. vue admin 动态路由权限管理

    主要思路 通过后端接口返回数据 进行判断 (通过后端实现的权限管理有许多种),在这里 我们主要通过 关键字即匹配前端路由meta.menu值来实现权限管理通常会把路由权限列表存至vux中 箭头所指的便 ...

最新文章

  1. 从面试角度分析ArrayList源码
  2. 全球自动驾驶政策概况及特征研究
  3. 常见的音视频封装和编码
  4. git移除某文件夹的版本控制
  5. centos6.6 源码安装mysql5.5_CentOS6.x下源码安装MySQL5.5
  6. Objective-C优缺点
  7. 相关插件在项目中使用参考
  8. PMP考试通关宝典-敏捷专题
  9. java 大写中文金额 转 数字
  10. 【面试】Python面试题库
  11. 博客系统 - 系统简介与首页设计
  12. python线程和c++线程的区别_Python、线程、吉尔和C++
  13. iSAM1论文推导学习--第二节QR部分
  14. 解决Centos7关闭You have new mail in /var/spool/mail/root提示
  15. 太阳神电商业务辅助工具1.5
  16. 2020年全球及中国动物模型(模式动物)行业发展现状及竞争格局分析,行业增速较快,发展前景良好「图」
  17. Shiro实现rememberMe功能
  18. 沙雕加速的使用方法和最新官网
  19. JAVA通过拦截器实现IP黑名单
  20. Py之interpret:interpret的简介、安装、案例应用之详细攻略

热门文章

  1. 情商低的七种表现,你占了几个
  2. Flink 集群搭建安装 CentOS 7.x 版本
  3. 怕入错行?这群技术人写了本“择业指南”
  4. 阿里云助力1药网开辟疫情防控“第二战场”
  5. MongoDB与阿里云达成战略合作,最新数据库独家上线阿里云!
  6. 一次开发、多端分发,阿里巴巴发布AliOS车载小程序
  7. 手机秒变IoT设备?——巧妙利用阿里云物联网平台
  8. 走进新华三解决方案 360°业务能力中心,读懂新华三如何助力企业数字化转型
  9. 解密Arm Neoverse V1 和 Neoverse N2 平台 为下一代基础设施带来计算变革
  10. 亚马逊云服务(AWS)中国与毕马威中国建立战略合作伙伴关系