vue路由跳转携带参数的方式总结
一、<router-link> 方式跳转
1. 携带query参数
<router-link to="/detail?id=001&title=消息001"> 消息001</router-link>
<router-link :to="{ name: 'detail', path: '/detail', query: { id: '001', title: '消息001' } }"
注:此种方式不需要动路由配置,to属性对象形式中name和path二选一即可 。
此时浏览器地址栏地址为:http://localhost:8080/detail?id=001&title=消息001
接收参数为:
$route.query.xxx
2. 携带params参数
<router-link :to="`/detail/${id}/${title}`"> {{ title }} </router-link>
<router-link :to="{ name: 'detail', path: '/detail', params: { id: '001', title: '消息001' } }"
注意:此种方式需要修改路由配置,且to的对象形式中只能用name匹配路由
{ name: 'detail', path: '/detail/:id/:title' component: Detail }
此时浏览器地址栏地址为:http://localhost:8080/detail/001/消息001
接收参数为:
$route.params.xxx
3.将参数转换为props属性
我们可以通过配置路由时的props属性,将params/query携带的参数,在组件中用props属性来接收,这样用时可以直接使用,就不需要$route.params.xxx/$route.query.xxx的形式了
配置方式:
{ name:'detail', path:'/detail', component: Detail, /** 方式一,值为对象,对象中的key-value会以props的形式传递给Detail组件, 但是传递的值都是一样的,不推荐 props: { id: '123', title: '消息001', }, **/ /** 方式二,值为布尔值,若布尔值为真,就会把该组件收到的所有params参数,以props的形式传式传递给Detail组件, 但之这种方式只适用于params参数 props: true, **/ /** 方式三,值为函数,内置传参$route,可以使用结构赋值形式 **/ props({query}){ return {id: query.id, title: query.title} },
还学到了一种结构再结构的形式
props({ query: { id, title } }) { return { id, title }
二、编程方式跳转路由
通过编写代码的方式使路由发生跳转,跳转方式有两种,一种是push,一种是replace,他们都是$router上的函数(存在于VueRouter原型上)。此时携带参数方式为:
this.$router.push({ name: 'detail', params: { id: xxx, title: xxx }, /** query: { id: xxx, title: xxx } **/ }) this.$router.replace({ name: 'detail', params: { id: xxx, title: xxx }, /** query: { id: xxx, title: xxx } **/ })
注意:不论何种方式跳转,想要在标签中接收到不同的params就需要在路由配置时用/:占位,不然只能接收到第一次打开时带过来的参数。
总结
到此这篇关于vue路由跳转携带参数的文章就介绍到这了,更多相关vue路由跳转携带参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue3.0中使用Element-Plus中Select下的filter-method属性代码示例
这篇文章主要给大家介绍了关于vue3.0中使用Element-Plus中Select下的filter-method属性的相关资料,Filter-method用法是指从一组数据中选择满足条件的项,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下2023-12-12vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())
这篇文章主要介绍了vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-04-04ant design vue datepicker日期选择器中文化操作
这篇文章主要介绍了ant design vue datepicker日期选择器中文化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-10-10
最新评论