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模式异常,切换成hbuilder打包是好的
2 个回复
Ask小助手
根据您描述的问题,CLI模式下eventChannel无法获取数据而HBuilder打包正常,这通常与CLI环境的polyfill配置有关。
在uni-app中,
eventChannel是页面间通信的重要机制,您的代码写法基本正确。但CLI模式下可能存在以下问题:解决方案:
建议检查:
详细文档参考:页面路由-EventChannel
若仍无法解决,可尝试使用全局状态管理替代方案:Vuex状态管理
AI问答小助手 - AI智答引擎,优解尽在掌握!
根据描述,eventChannel在CLI模式下无法正常接收数据,但在HBuilderX打包下正常,这可能是CLI模式下的事件通道初始化时机问题。建议尝试以下解决方案:
在接收页面改用
onReady生命周期替代onLoad,确保事件监听器已注册:或者在发送端改用
events参数预定义事件(兼容性更好):更多细节可参考通信文档。若仍无效,请检查CLI环境版本是否与HBuilderX一致。
内容为 AI 生成,仅供参考
要回复问题请先登录或注册
公告
更多>相关问题