在项目练手中遇到,点击右侧按钮跳转到它的子页面,并且需要传递参数给他的子页面,我是这样做的
1.设置子页面的路由
{
path: 'userInfo/userSetting/:Parm',
component: () => import('../views/user/userSetting'),
name: 'userSetting',
meta: { title: '用户设置' }
}
2.主页面跳转方法
handleSetting(row) {
let tone = {
id: row.id,
name: row.name
}
let params = JSON.stringify(tone)
this.$router.push({name:'userSetting', params: { toneParm:params }})
},
所传的参数如果是对象一定要用JSON.stringify()先转为json格式,否则子页面在刷新时,参数会消失
3.子页面接收参数
watch: {
$route(to) {
//进入用户铃音设置刷新页面,防止页面不跳转
if (to.name == "toneSetting") {
let dataStr = JSON.parse(this.$route.params.toneParm);
this.id = dataStr.id;
this.name = dataStr.name;
}
},
},
created() {
let dataStr = JSON.parse(this.$route.params.toneParm);
this.id = dataStr.id;
this.name = dataStr.name;
},
这时候就能使用传递过来的参数了