vue-router 动态路由匹配
目录
- 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 动态路由匹配相关推荐
- 2022/9/5 嵌套路由(靠路由在vue里渲染套渲染),动态路由匹配以及开启propos配置动态路由
嵌套路由 通过路由实现组件的嵌套展示 在about内嵌套路由 <template><div class="about-container"><h3&g ...
- 【VUE】Vue动态路由匹配路由
[VUE] vue-router 动态路由匹配 我们经常需要把某种模式匹配到的所有路由,全都映射到同个组件.例如,我们有一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染.那 ...
- vue-router详尽:编程式导航、路由重定向、动态路由匹配、路由别名、嵌套路由、命名视图
vue-router编程式导航 在vue项目中经常用到this.$router.push() 和 this.$router.replace() 方法进行路由跳转就是编程式导航... 通俗理解编程式导航 ...
- vue将每个路由打包成html,Ant Design Vue pro 动态路由的实现和打包
Ant Design Vue pro 动态路由的实现和打包 Ant Design Vue pro 动态路由的实现和打包 配置路由权限 在config文件夹下router.config.js中配置路由权 ...
- Vue Router 实现路由控制实战
本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习. Vue Router 实现路由控制实战 前言 一.什么是单页面应用及实现前端路 ...
- 面试考问Vue Router 的路由模式,这个回答令我直接出局!
HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...
- 你真的理解 Vue Router 的路由模式吗?
HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...
- 面试考问Vue Router 的路由模式,这个回答令我直接出局~
HR力荐了一个工作 4 年,目前年薪 40W+ 的候选人. 看他简历,从 HTML,CSS,JavaScript ,Vue.js ,再到React 一个都不缺,跨平台PC.移动端.小程序也都接触过,像 ...
- vue router children 路由变了 组件没变_Vue.js从零开始——路由(2)
因为一些原因,我断更了几天时间,因为要准备面试 + 不在家,抱歉大家! 题图是一个大概的 Vue 模块化项目组成,当然因为我从网上找的,所以可以忽略当中的 Bulma,这其实是一个 CSS 框架,往简 ...
- vue admin 动态路由权限管理
主要思路 通过后端接口返回数据 进行判断 (通过后端实现的权限管理有许多种),在这里 我们主要通过 关键字即匹配前端路由meta.menu值来实现权限管理通常会把路由权限列表存至vux中 箭头所指的便 ...
最新文章
- 从面试角度分析ArrayList源码
- 全球自动驾驶政策概况及特征研究
- 常见的音视频封装和编码
- git移除某文件夹的版本控制
- centos6.6 源码安装mysql5.5_CentOS6.x下源码安装MySQL5.5
- Objective-C优缺点
- 相关插件在项目中使用参考
- PMP考试通关宝典-敏捷专题
- java 大写中文金额 转 数字
- 【面试】Python面试题库
- 博客系统 - 系统简介与首页设计
- python线程和c++线程的区别_Python、线程、吉尔和C++
- iSAM1论文推导学习--第二节QR部分
- 解决Centos7关闭You have new mail in /var/spool/mail/root提示
- 太阳神电商业务辅助工具1.5
- 2020年全球及中国动物模型(模式动物)行业发展现状及竞争格局分析,行业增速较快,发展前景良好「图」
- Shiro实现rememberMe功能
- 沙雕加速的使用方法和最新官网
- JAVA通过拦截器实现IP黑名单
- Py之interpret:interpret的简介、安装、案例应用之详细攻略
热门文章
- 情商低的七种表现,你占了几个
- Flink 集群搭建安装 CentOS 7.x 版本
- 怕入错行?这群技术人写了本“择业指南”
- 阿里云助力1药网开辟疫情防控“第二战场”
- MongoDB与阿里云达成战略合作,最新数据库独家上线阿里云!
- 一次开发、多端分发,阿里巴巴发布AliOS车载小程序
- 手机秒变IoT设备?——巧妙利用阿里云物联网平台
- 走进新华三解决方案 360°业务能力中心,读懂新华三如何助力企业数字化转型
- 解密Arm Neoverse V1 和 Neoverse N2 平台 为下一代基础设施带来计算变革
- 亚马逊云服务(AWS)中国与毕马威中国建立战略合作伙伴关系