我在百度的时候看到几篇很好的文章,分享一下
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>