路由传参3种方式
1、地址后面直接带参数
2、params
传参(相当于post
,不会显示在url里面)
3、query
传参(相当于get
,会显示在url里面)
当params
传参刷新页面的时候,页面容易丢失数据,使用query
传参可以避免丢失数据
当参数是object时的复杂参数时,接收参数容易变成“[object Object]”
解决办法:
可以通过JSON.stringify()
转为字符串,字符串是基本数据类型,不会丢失,接收参数时通过JSON.parse()
将字符串转换为对象即可获取数据
例:
const res = await queryById({ id: record.productId }); recordDetail.value = res.data.result; router.push({ name: url, query: { recordDetail: JSON.stringify(recordDetail.value), }, });