vue 传参数据丢失或者“[object Object]”

Posted 粉色的海绵宝宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 传参数据丢失或者“[object Object]”相关的知识,希望对你有一定的参考价值。

路由传参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), , );

vue 路由传参数和隐藏参数

参考技术A vue中路由中需要传递参数的话可以用query和param传递,两者类似于get和post。前者地址栏类似xx?p=1后者为xx/1,且后者可以隐藏地址栏显示。其实也可以用vue推荐的vuex进行响应式的参数管理。

两者传递参数需要router/index.js进行配置:

只需要去掉修改path即可,但是刷新会丢失数据,可以通过localstorage解决刷新问题。

以上是关于vue 传参数据丢失或者“[object Object]”的主要内容,如果未能解决你的问题,请参考以下文章

Vue之路由的query传参加密

路由解耦-解决Vue通过name和params进行跳转页面传参刷新参数丢失的问题

vue路由传参及解决vue路由传参页面刷新参数丢失问题

vue路由传参vue自带方法路由传参方式页面跳转带id过去刷新页面数据不丢失隐藏URL后的参数 详细教程

vue 路由传参数和隐藏参数

React路由传参