uni.navigateTo({
url: /pages/reserve/index,
success: function (navRes) {
navRes.eventChannel.emit("sendData", {
data: 123,
});
},
});
在跳转到的页面接收不到数据:
onLoad(options) {
const eventChannel = this.getOpenerEventChannel();
eventChannel.on("sendData", ({ data }) => {
});
},
cli最新版本有问题,切换到老版本是好的;
4 个回复
Ask小助手
根据您描述的问题,CLI模式下eventChannel无法获取数据而HBuilder打包正常,这通常与CLI环境的polyfill配置有关。
在uni-app中,
eventChannel是页面间通信的重要机制,您的代码写法基本正确。但CLI模式下可能存在以下问题:解决方案:
建议检查:
详细文档参考:页面路由-EventChannel
若仍无法解决,可尝试使用全局状态管理替代方案:Vuex状态管理
牛奶包子
根据描述,eventChannel在CLI模式下无法正常接收数据,但在HBuilderX打包下正常,这可能是CLI模式下的事件通道初始化时机问题。建议尝试以下解决方案:
在接收页面改用
onReady生命周期替代onLoad,确保事件监听器已注册:或者在发送端改用
events参数预定义事件(兼容性更好):更多细节可参考通信文档。若仍无效,请检查CLI环境版本是否与HBuilderX一致。
内容为 AI 生成,仅供参考
拉芳
ai回复的方法无效
DCloud_UNI_JBB
哪个端,vue版本是多少?
拉芳
支付宝 vue2.6
2025-12-16 17:50
DCloud_UNI_JBB
回复 拉芳: 参考这个 https://github.com/dcloudio/uni-app/issues/5883
2025-12-16 17:54
拉芳
回复 DCloud_UNI_JBB: 感谢回复 根据issues的方法已经修复啦
2025-12-17 08:48
要回复问题请先登录或注册
公告
更多>相关问题