微信小程序在编译时和真机调试时获取上一个页面数据可能会出现差异,这可能是因为小程序在编译时会对代码进行一些优化,而在真机调试时会遇到不同的环境和条件。

为了确保能够成功获取数据,可以尝试使用一些调试工具来排查问题,比如在真机调试时打印日志或者使用调试器进行调试。

以下是一个获取上一个页面数据的示例代码:

// 上一个页面 Page({ data: { deviceInfo: { 'id': '123', 'name': 'Device A' } }, onLoad: function() { // 创建一个事件通道 const eventChannel = this.getOpenerEventChannel(); // 将数据通过事件通道传递给下一个页面 eventChannel.emit('getDeviceInfo', this.data.deviceInfo); } })

// 下一个页面 Page({ data: { deviceInfo: {} }, onLoad: function() { // 获取事件通道 const eventChannel = this.getOpenerEventChannel(); // 监听事件通道,获取数据 eventChannel.on('getDeviceInfo', (data) => { this.setData({ deviceInfo: data }); }); } })

在上一个页面中,我们将设备信息通过事件通道传递给下一个页面,然后在下一个页面中监听事件通道,获取传递过来的数据,并将其设置到页面数据中。这样就可以在下一个页面中成功获取到上一个页面的数据了。

微信小程序编译和真机调试获取上一个页面数据差异及解决方法

原文地址: https://www.cveoy.top/t/topic/mLlV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录