先说一下场景 - 微信小程序开发中,一个卡片列表页点击跳转详情页,跳转时候详情页需要列表页的信息,需要我们传一个对象过去,效果如下
具体实现
// 列表页点击跳转, 传递的参数对象,js中的参数要求不能是对象,我们转为string类型
gotoDetail(e) {
let itemObj = JSON.stringify(e)
uni.navigateTo({
url: '/pagesMine/pages/equityCard/billDetail?itemObj=' + itemObj,
})
},
下个页面接收
1)接收的时候发现被转义了,需要我们decodeURIComponent
来解密,再JSON.parse转成对象
2)转成对象发现里面就是我们之前传过来的 名字叫 itemObj 的对象,但是他的值是一个字符串,需要进一步JSON.parse转成对象
3)把这个对象赋值给我们定义好的变量 billInfo
onLoad(e) {
console.log(e, '接收e')
console.log(typeof e.query, '类型') //string 类型
if (e.query) {
let tempVal = JSON.parse(decodeURIComponent(e.query))
console.log(tempVal, 'tempVal')
this.$nextTick(() => {
this.billInfo = JSON.parse(tempVal.itemObj)
})
}
},
打印结果:
到此为止,结束!