位置: IT常识 - 正文

【Vue路由(router)进一步详解】(路由vue-router)

编辑:rootadmin
【Vue路由(router)进一步详解】 Vue路由(router)进一步详解query属性具体实例代码如下:params属性具体实例代码如下:props属性replace属性编程式路由导航路由缓存具体代码:总结

推荐整理分享【Vue路由(router)进一步详解】(路由vue-router),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue路由详解,路由vue-router,路由vue-router,路由vue-router,vue router-view路由详解,vue router-view路由详解,vue router路由配置,vue路由routerview,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇文章主要针对已经掌握Vue路由(router)基础以及路由嵌套的用户群体,如果你是Vue路由初学者的话,不仿先去看看【Vue路由(router)的基本使用】这篇文章

接上一篇文章理解Vue路由中常用的知识点

在实际开发过程中,我们可能不单单要实现简单的页面跳转动作,可能在页面跳转的同时,我们需要携带一些数据给对应的路由组件,也就是说,涉及路由的传参,那怎么实现路由传参呢,其实有三种方式可以使得携带参数至指定的路由组件,他们分别是query,params以及在学组件时已经熟知的props

query属性

切换路由并传递参数用法

传递参数:

<!-- 方法一,字符串写法 --><router-link :to="/跳转路径/跳转路径?参数一='xxxx'&参数二='XXXXX'">跳转</router-link><!-- 方法二,对象写法 --><router-link :to="{ path:'/路径/路径/XXX', query:{ data1:'XXX', data2:'XXX', ..... } }">>跳转</router-link>【Vue路由(router)进一步详解】(路由vue-router)

值得注意的一个点是,在上述用法中,我们所传递的参数都是写死的参数,但开发中更多的情况是我们传递的参数可能是动态的数据,对象写法还是一样的,但是字符串写法又该如何实现呢?

如下: 尚硅谷Vue讲师张天禹介绍了ES6中字符串模板加上直接赋值的写法:

<router-link :to="`/home/messageA/detailA?id=${m.id}&title=${m.title}`">跳转</router-link>

路由组件中接收参数:

$router.query.XXX$router.query.XXX$router.query.XXX具体实例代码如下:

本篇文章是在【Vue路由(router)的基本使用】的基础上写的,所以重复的,没有改动的代码我就不再展示,这里我们用TestA.vue组件举例,数据存储在TestA.vue中,但我希望把数据传递到它的子路由上,实现动态的数据展示

创建TestA.vue的子路由组件DataList.vue:

<template> <div> <ul> <!-- 采用插值语法就可以拿到父级路由中的数据 --> <li>{{$route.query.introduce}}</li> </ul> </div></template><script>export default { name:'DataList'}</script><style></style>

src/router/index.js的变化:

//该文件用于创建整个应用的router//首先,需要引用vue-routerimport VueRouter from "vue-router";//引入路由组件import TestA from '../pages/TestA'import TestB from '../pages/TestB'// 引入二级路由组件import TestBHzw from '../pages/TestBHzw'import TestBHyrz from '../pages/TestBHyrz'import DataList from '../pages/DataList'//创建并暴露一个VueRouterexport default new VueRouter({ routes:[ //配置路由路径和路由组件 { //这里的路径可自由定义,但是为了初学者好理解,我就采用和组件同样的命名,防止在写路径的时候搞混 path:'/TestA', component:TestA, //要跳转到的组件 children:[ { path:'DataList', component:DataList } ] }, { path:'/TestB', component:TestB, // 配置二级路由 children:[ { path:'TestBHzw', //重点注意,不要加 / component:TestBHzw }, { path:'TestBHyrz', component:TestBHyrz } ] } ]})

TestA.vue:

<template> <div> <h4>著名动漫简介</h4> <ul> <li v-for="i in DataList" :key="i.id"> <!-- 使用query参数传递动态参数 --> <router-link :to="{ path:'/TestA/DataList', query:{ introduce:i.introduce } }">{{i.name}}</router-link> </li> </ul> <router-view></router-view> </div></template><script>export default { name:'TestA', data(){ return{ DataList:[ { id:1, name:'《海贼王》', introduce:'《航海王》是日本漫画家尾田荣一郎作画的少年漫画作品,于1997年7月22日在集英社《周刊少年Jump》开始连载。改编的电视动画《航海王》于1999年10月20日起在富士电视台首播。' }, { id:2, name:'《火影忍者》', introduce:'电视动画《火影忍者》改编自日本漫画家岸本齐史的同名漫画,2002年10月3日在东京电视台系列全6局、岐阜放送首播,共220话;第二季《火影忍者疾风传》于2007年2月15日-2017年3月23日在东京电视台播出,共500话;累计全720话。' }, { id:3, name:'《斗破苍穹》', introduce:'《斗破苍穹》是一部由阅文集团旗下起点中文网作家天蚕土豆同名玄幻长篇经典小说改编的动画。该动画第一季已于2017年1月7日在腾讯视频上映,bilibili同步跟播,共十二集。' }, { id:4, name:'《鬼灭之刃》', introduce:'《鬼灭之刃》是日本漫画家吾峠呼世晴所著的少年漫画,自2016年2月15日—2020年5月11日在集英社《周刊少年Jump》上连载。已完结。' } ] } }}</script><style scoped>h4{ text-align: center;}a{ text-decoration: none;}.active:visited{ color: brown;}</style>

其他组件是没有改动过的

效果图: 此时,我们处于一级路由,TestA.vue组件的子路由是没有展示的 当我们鼠标点击对应动漫列表时,就会出现动漫的简介,此时就完成了利用query参数传递数据。

params属性

params属性起到的作用和query差不多,都是用于传递和接收参数,只不过,它是在src/router/index.js中进行配置

{ path:'/一级路径', component:XXX, children:[ { path:'二级路径', component:XXX, children:[ name:'name', path:'XXX/:name/:data', //使用占位符
本文链接地址:https://www.jiuchutong.com/zhishi/299970.html 转载请保留说明!

上一篇:【Echarts图例点击事件】自定义Echarts图例legend点击事件(已解决)(echarts在地图上标记图标)

下一篇:React(六) —— redux(react+)

  • 稳岗返还资金最新账务处理
  • 企业所得税的计算公式
  • 个体户没做过账怎么办
  • 小企业需要计提法定盈余公积吗
  • 分公司可以独立开银行账户吗
  • 财务费用属于什么科目借贷方向
  • 固定资产怎么进账
  • 家属机票怎么办理
  • 冲红重开发票增值税怎么处理
  • 个体户没有营业执照怎么举报
  • 投资性房地产转固定资产账务处理
  • 合作经营利润分配税务处理
  • 制造费用结转生产成本金蝶怎么操作
  • 民间非营利性组织
  • 税控盘抵税账务处理
  • 销售业务中的贴息如何开票?
  • 公积金抵扣个税上限
  • 税控系统技术维护费
  • 公司缴纳电费
  • 会计计提和冲回
  • 批发led电子屏
  • 跨月退款会计分录
  • 奖金发放如何做账
  • windows7部分的更新安装失败怎么办?
  • 远程桌面连接失败了
  • linux 数字加减
  • mac中的finder简介命令
  • springboot整合了哪些框架
  • 购入专利权的会计科目
  • 照片文件夹如何压缩
  • php访问mysql的五个基本步骤
  • 挪威最北部
  • 超过500万需要补税吗
  • form表单参数传递
  • 一般纳税人筹建期不用交税吗
  • 原始凭证必须来源于外部吗
  • 计提票面利息
  • dedecms官网
  • 增值税小规模纳税人减免增值税政策
  • 进账加计抵减政策
  • 清算机构收单机构和发卡行
  • mysql如何分类
  • 工程项目辅材占比
  • 错账更正方法有几种分别适用于什么情况
  • 员工为公司垫费合法吗
  • 软件企业的研发费用占比
  • 车间购买劳保费用会计分录
  • 一般纳税人资格证书怎么查询
  • 2010年漏记的费用,11年该如何记账?
  • 私立学校增值税免税吗
  • 汇算清缴可以调整主营业务成本吗
  • 次年发放的奖金怎么入账
  • 商品流通企业会计做账流程
  • “制造费用”账户如何设置明细账?
  • 会计从业资格证取消了吗
  • 侧边栏应用
  • solaris删除文件夹命令
  • win7桌面怎么设置到d盘
  • win8系统怎么做系统
  • macbookair如何删除
  • 在linux2.4.0版本中
  • WIN10系统睡眠后点不动
  • window10快捷键不能用
  • centos32
  • win7如何更改欢迎界面
  • js获取json数组中的值
  • 下列关于js的说法正确的是
  • python开发的程序怎么运行
  • javascript如何
  • jquery可以实现哪些效果
  • js类的实现
  • unity3d基础教程
  • python socketcan
  • jsgenerator
  • django使用celery
  • 快速掌握英语的方法
  • js写日期
  • 北京 国税
  • 个人的社会信用代码怎么查
  • 河南国税发票查询真伪官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设