app调试时 , 父组件向子组件传递对象 :
原来是这样写的:
//父组件
//推荐商品跳转
toPick(e){
uni.showToast({title: '推荐商品'+JSON.stringify(e)});
console.log("JSON.stringify(e)===>>>",JSON.stringify(e))
uni.navigateTo({
url:'../goodDetail/goodDetail?obj='+JSON.stringify(e)
})
}
//子组件
onLoad(option) {
this.obj= JSON.parse(option.obj)
console.log("-----------",this.obj)
}
报错原因:参数中有不识别的字符
解决办法:使用encodeURIComponent编码
//父页面
toPick(e){
uni.showToast({title: '推荐商品'+JSON.stringify(e)});
console.log("JSON.stringify(e)===>>>",JSON.stringify(e))
uni.navigateTo({
url:'../goodDetail/goodDetail?obj='+encodeURIComponent(JSON.stringify(e))
})
}
//子页面
onLoad(option) {
//decodeURIComponent解码
this.obj= JSON.parse(decodeURIComponent(option.obj))
console.log("-----------",this.obj)
}