问题
微信小程序页面跳转需要携带大量数据,使用URL数据拼接有长度限制级数据格式转化潜在问题
解决方式
使用wx.navigateTo(Object object)
代码示例
使用的wepy1.7X版本
A->B 携带大量数据过去
购物车->支付确认
Page A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| toPay() { if (this.num <= 0) { return } let self = this wx.setNavigationBarTitle({ title: '确认订单' }) wx.navigateTo({ url: `./pay`, events: {}, success: function (res) { res.eventChannel.emit('acceptDataFromOpenerPage', { score: self.score, num: self.num, list: self.list.filter(val => val.choosed == true) }) } }) },
|
Page B
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| async onLoad(e) { if (e.id) { this.score = e.redeem this.num = 1 this.list.push({ buy_number: 1, skuid: e.id, redeem: e.redeem, skuname: e.skuname, img: e.img }) } else { let self = this const eventChannel = this.$wxpage.getOpenerEventChannel() eventChannel.on('acceptDataFromOpenerPage', function (data) { self.num = data.num self.score = data.score self.list = data.list }) this.$apply() }
|
一些问题
this.getOpenerEventChannel is not a function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| wepy1.X
const eventChannel = this.$wxpage.getOpenerEventChannel()
wepy2.X
const eventChannel = this.$wx.getOpenerEventChannel()
taro 待验证 const eventChannel = this.$scope.getOpenerEventChannel()
原生 待验证 试试在json文件中加个"usingComponents": {} ,我一开始是可以用的,后来把这个去掉就报这个错误,然后我加上就又不报错了。。。
https:
|
如有问题可联系 Email:afacode@outlook.com 或 微信:afacode