vue中常用的路由跳转并且携带参数有两种方式,通过query、params传参
1)params传参
this.$router.push({
name: "Produce",
params: {
code: code
}
});
2)query传参
this.$router.push({
path: "/system/role",
query: {
id: saleId
}
});
最近我发现我用params传参时,参数怎么也接收不到,地址栏url中也看不见参数,控制台也不见报错,于是上网查了下原来用第一种方式传参页面刷新后参数会消失,从而获取不到,第二种方式就不会出现参数消失的情况。
但是我做的这个项目有点特殊,必须要通过路由的name进行跳转,下面两种方法我都尝试了,可以成功获取到了参数,亲测有效(*^_^*)
方法一:在配置路由的时候添加动态参数,路由跳转时还是采用第一种params传参,获取参数直接使用this.$route.params.code
{
path: '/mes/bb/imgScreen/:code',
name: 'ImgScreen',
component: () => import('@/views/imgScreen'),
hidden: true
}
方法二:name搭配query,获取参数采用this.$route.query.code
this.$router.push({
name: "Produce",
query: {
code: code
}
});
我的项目最终采用的是方法二,可以成功获取到参数