前言:需要把query传参方式改成params传参,不能让用户在url看到参数。
以为只用把query改成params就可以了 但是跳转的页面接收不到
错误写法
query传参改为params
this.$router.push({
path: "/organization",
query: { value: this.input },
});
this.$router.push({
path: "/organization",
params: { value: this.input },
});
正确写法
路由规则中定义参数,to 属性指向一个对象时用于确定指向的组件。pramas传参的引入,pramas必须用name来引入.
原因:params传参必需加上name别名,
解决方法
1.在router.js定义每一个路由的地方加上name别名
{
path: '/organization', //机构详情页 √
name:'organization',
}
2.params传参
this.$router.push({
path: "/organization",
name: "organization",
params: { value: this.input },
});
3.接收成功
alert(JSON.stringify(this.$route.params));