当前位置: 首页 > news >正文

路由的params参数,命名路由,路由的params参数,命名路由

上篇我们讲了vue路由的使用

今天我们来讲vue中路由的嵌套,路由的params参数,命名路由

一.路由的params参数

1.配置路由规则,使用children配置项:
router:[{path:'/about',component:About,},{path:component:Home,//通过children配置子路由chilren:{path:'news',//此处一定不要写:/newcomponent:News},{path:'message',//此处一定不要写:/messagecomponent:Message}}
]
2.跳转(要写完整路径)
<router-link to="home/news">News<router-link>
//router中的index.js
//该文件专门用于创建整个应用的路由器
import VueRouter  from "vue-router"import homeRouter from '../page/homeRouter'
import AboutRouter from '../page/aboutRouter'
import News from '../page/NewsRouter'
import Message from '../page/MessageRouter'// 创建并暴露一个路由器
export default new VueRouter({routes: [{path:'/about',component:AboutRouter},{path:'/home',// 二级路由component:homeRouter,children:[{path:'news',component:News,},{path:'message',component:Message,}]}]
})
//homeRouter.vue
<template><div><h3>我是home的内容</h3><div><ul class="nav-tabs"><li><router-link to="/home/news">News</router-link></li><li><router-link to="/home/message">Message</router-link></li></ul><router-view></router-view></div></div>
</template><script>
export default {name:'homeRouter'
}
</script><style></style>
//homeRouter.vue
<template><div><h3>我是home的内容</h3><div><ul class="nav-tabs"><li><router-link to="/home/news">News</router-link></li><li><router-link to="/home/message">Message</router-link></li></ul><router-view></router-view></div></div>
</template><script>
export default {name:'homeRouter'
}
</script><style></style>
//MessageRouter.vue
<template><div><ul><li><a href="">message001</a> </li><li><a href="">message002</a> </li><li><a href="">message003</a> </li></ul></div>
</template><script>
export default {name:'MessageRouter'
}
</script><style></style>
//newRouter.vue
<template><div><ul><li><a href="">New001</a></li><li><a href="">New002</a></li><li><a href="">New003</a></li></ul></div>
</template><script>
export default {}
</script><style>
</style>

如图所示这就是展示的效果 :

 二.路由的query参数

1.传递参数
跳转并携带query参数,to的字符串写法
<router-link :to="`/home/message/detail?id={m.id}&title={m.title}`"></router-link>
2.接收d参数
<router-link :to="{path:'/home/message/detail',query:{id:666,title:"你好"}}"></router-link>
//router的index.js
//该文件专门用于创建整个应用的路由器
import VueRouter  from "vue-router"import homeRouter from '../page/homeRouter'
import AboutRouter from '../page/aboutRouter'
import News from '../page/NewsRouter'
import Message from '../page/MessageRouter'
import DetailRouter from '../page/DetailRouter';// 创建并暴露一个路由器
export default new VueRouter({routes: [{path:'/about',component:AboutRouter},{path:'/home',// 二级路由component:homeRouter,children:[{path:'news',component:News,},{path:'message',component:Message,children:[{path:'detail',component:DetailRouter}]}]}]
})
//messageRouter.vue
<template><div><ul><!-- 跳转路由器并携带query参数,to的字符串写法 --><li v-for="m in messageList" :key="m.id"><!-- <router-link :to="`/home/message/detail?id=${m.id}&title=${m.title}`">{{m.title}}</router-link> --><!-- 跳转路由并携带query参数,to的对象写法 --><router-link :to="{path:'/home/message/detail',query:{id:m.id,title:m.title}}">{{m.title}}</router-link></li></ul><hr><router-view></router-view></div>
</template><script>
export default {name:'MessageRouter',data() {return {messageList:[{id:'001',title:'消息001'},{id:'002',title:'消息002'},{id:'003',title:'消息003'}]}},}
</script><style>
</style>
//detail.vue
<template><ul><li>消息编号:{{$route.query.id}}</li><li>消息标题:{{$route.query.title}}</li></ul>
</template><script>
export default {name:'DetailRouter',
}
</script><style>
</style>

如图:

 三.路由的params参数

1.配置路由,声明params参数
{path:'/home',// 二级路由component:homeRouter,children:[{path:'news',component:News,},{path:'message',component:Message,children:[{name:'xijie',path:'detail/:id/:title',//使用占位符声明接收params参数component:DetailRouter}]}]}
2.传递参数<!-- 跳转路由器并携带params参数,to的字符串写法 -->
<router-link :to="/home/message/detai/666/你好">跳转</router-link><!-- 跳转路由并携带params参数,to的对象写法 -->
<router-link :to="{name:'xijie',params:{id:666,title:'你好'}}">跳转</router-link>
3.特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置
4.接收参数:$route.params.id$route.para
//router的index.js detail相关部分{path:'message',component:Message,children:[{name:'xijie',path:'detail/:id/:title',//node.js的占位符,为params准备component:DetailRouter}]}
//detailRouter.vue
<template><ul><li>消息编号:{{$route.params.id}}</li><li>消息标题:{{$route.params.title}}</li></ul>
</template><script>
export default {name:'DetailRouter',
}
</script><style></style>
//messageRouter.vue传参部分<li v-for="m in messageList" :key="m.id"><!-- 跳转路由器并携带params参数,to的字符串写法 --><!-- <router-link :to="`/home/message/detail/${m.id}/${m.title}`">{{m.title}}</router-link> --><!-- 跳转路由并携带params参数,to的对象写法 --><router-link :to="{name:'xijie',params:{id:m.id,title:m.title}}">{{m.title}}</router-link></li>

今天写到这 下次我们再讲解  名路由

相关文章:

  • 架构师指南:现代 Datalake 参考架构
  • 深入理解Java虚拟机(JVM)中的垃圾回收器
  • VUE3 使用 vite-plugin-svg-icons加载SVG
  • 浅谈请求中数据转换
  • 程序猿成长之路之数据挖掘篇——决策树分类算法(1)——信息熵和信息增益
  • java:JWT的简单例子
  • This content is blocked. Contact the site owner to fix the issue.
  • 你只是重新发现了一些东西
  • 【2024.6.22】今日科技时事:科技前沿大事件
  • 【C++提高编程-11】----C++ STL常用集合算法
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 生成哈夫曼树(100分) - 三语言AC题解(Python/Java/Cpp)
  • 鸿蒙原生App开发之:套用混合app开发思路
  • 用java写一个二叉树翻转
  • 如何获得一个Oracle 23ai数据库(vagrant box)
  • webpack总结16--webpack入门学习
  • 【mysql】环境安装、服务启动、密码设置
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CSS3 变换
  • Javascript 原型链
  • Lsb图片隐写
  • react-native 安卓真机环境搭建
  • Redis学习笔记 - pipline(流水线、管道)
  • Spring-boot 启动时碰到的错误
  • tab.js分享及浏览器兼容性问题汇总
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 包装类对象
  • 初探 Vue 生命周期和钩子函数
  • 电商搜索引擎的架构设计和性能优化
  • 深度学习在携程攻略社区的应用
  • 微信小程序设置上一页数据
  • 微信小程序--------语音识别(前端自己也能玩)
  • 追踪解析 FutureTask 源码
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $ git push -u origin master 推送到远程库出错
  • (2)空速传感器
  • (20050108)又读《平凡的世界》
  • (C语言)球球大作战
  • (SERIES10)DM逻辑备份还原
  • (办公)springboot配置aop处理请求.
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (十七)、Mac 安装k8s
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)事件系统
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)关于pipe()的详细解析
  • .net 7和core版 SignalR
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。