我在百度的时候看到几篇很好的文章,分享一下
uni-app页面传值传递对象类型的数据
和微信小程序(uni-app)url参数传递对象
本来clog传递后的参数,是[object,object],很费解。后来用了作者的JSON.parse(decodeURIComponent(option.item));方法后还是报错,
goGoods页面
kefuOrder(){
let obj = {
name : this.goods.name,
price : this.goods.price,
showPrice : this.goods.showPrice,
}
console.log(obj);
uni.navigateTo({
url:'../webChat/webChat?obj='+ encodeURIComponent(JSON.stringify(obj))
})
}
<script>
export default {
data() {
return {
obj: {},
src: ''
}
},
onLoad(e){
this obj = JSON.parse(decodeURIComponent(e.obj));
console.log(this.obj);
},
methods: {
}
}
</script>
我跟作者传递的对象有细微的差别,作者传递的对象内还包含了对象,而我的对象内就内有更多的对象类型的数据了。后来才知道如果对象内没有嵌套对象,可以直接用JSON.stringify(obj)
上代码:
kefuOrder(){
let obj = {
name : this.goods.name,
price : this.goods.price,
showPrice : this.goods.showPrice,
}
console.log(obj);
// console.log('发送请求,1获取相应产品对应的客户信息,或者2进入聊天页');
uni.navigateTo({
// 如果对象里面嵌套着对象,就需要用decodeURIComponent,否则只需要用JSON.parse就可以
// url:'../webChat/webChat?obj='+ encodeURIComponent(JSON.stringify(obj))
url:'../webChat/webChat?obj='+ JSON.stringify(obj)
<script>
export default {
data() {
return {
obj: {},
src: ''
}
},
onLoad(e){
// this.obj = JSON.parse(decodeURIComponent(e.obj));
this.obj = JSON.parse(e.obj);
console.log(this.obj);
},
methods: {
}
}
</script>
本文档介绍了解决uni-app通过页面跳转传递对象类型数据时遇到的问题。作者探讨了使用JSON.stringify()和encodeURIComponent()组合进行数据编码和解码的方法,以及为何在某些情况下可以省略decodeURIComponent()。通过示例代码,展示了如何正确传递和接收包含简单对象的数据,帮助开发者理解在微信小程序和uni-app中进行参数传递的最佳实践。
164

被折叠的 条评论
为什么被折叠?



