Vue(Vue2+Vue3)——68.路由的params参数

简介: Vue(Vue2+Vue3)——68.路由的params参数

68 路由的params参数


路由传参是不只是有query参数,也有params参数,两者写法基本一致,都是分为字符串和对象的写法


携带params参数


如果直接这样使用params参数进行拼接,那么肯定是不行的,虽然自己知道前三个是路由,后面两个才是参数,但是系统并不知道,所以需要麻烦点,在路由配置里面


声明params参数


配置路由声明接收params参数

找到配置这个组件的地方,在对应的组件后使用占位符声明接收params参数


使用params参数


可以看到,在$route里面的params中,看到了传递的params参数

所以获取数据的时候,就可以使用$route.params获取了

现在传参的是死的数据,我们借助表达式传递,和query一样,通用分为字符串和对象写法


字符串写法



对象写法



对象写法的一个坑


特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!但是如果使用query,就没有这个限制

它不会报错,但是相关路由会消失跳转不了


总结


1 配置路由,声明接收params参数

{
        path:'/home',
        component:Home,
        children:[
                {
                        path:'news',
                        component:News
                },
                {
                        component:Message,
                        children:[
                                {
                                        name:'xiangqing',
                                        path:'detail/:id/:title', //使用占位符声明接收params参数
                                        component:Detail
                                }
                        ]
                }
        ]
}

2 传递参数

<!-- 跳转并携带params参数,to的字符串写法 -->
<router-link :to="/home/message/detail/666/你好">跳转</router-link>
<!-- 跳转并携带params参数,to的对象写法 -->
<router-link 
        :to="{
                name:'xiangqing',
                params:{
                   id:666,
            title:'你好'
                }
        }"
>跳转</router-link>

特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!

3 接收参数:

$route.params.id
$route.params.title
相关文章
|
2天前
|
JavaScript
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
4天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
4天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
JavaScript 测试技术 容器
Vue2+VueRouter2+webpack 构建项目
1). 安装Node环境和npm包管理工具 检测版本 node -v npm -v 图1.png 2). 安装vue-cli(vue脚手架) npm install -g vue-cli --registry=https://registry.
1014 0
|
4天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
16 6
|
4天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
15 1
|
9天前
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
19 1
|
9天前
|
JavaScript
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
|
4天前
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
11 0