当前位置: 首页> 科技> 能源 > 兰州科技公司有哪些_家具设计软件下载_如何开发软件app_全球十大搜索引擎排名及网址

兰州科技公司有哪些_家具设计软件下载_如何开发软件app_全球十大搜索引擎排名及网址

时间:2025/7/17 23:30:38来源:https://blog.csdn.net/XiugongHao/article/details/147223236 浏览次数:0次
兰州科技公司有哪些_家具设计软件下载_如何开发软件app_全球十大搜索引擎排名及网址

一、EventChannel 的核心作用

  1. 替代全局事件总线
    相比传统的 uni.$emituni.$on,EventChannel 无需手动移除监听(如 uni.$off),避免内存泄漏风险。
  2. 解决 URL 传参限制
    当需要传递大量数据时,URL 拼接参数可能超出长度限制,而 EventChannel 可通过事件通道直接传输复杂对象。
  3. 精准的页面间通信
    仅在跳转的源页面和目标页面之间建立通道,避免全局事件的污染。

二、核心方法与使用步骤

1. 发送方页面(发起跳转的页面)

通过 navigateTo 的 success 回调的 eventChannel 发送数据:

  uni.navigateTo({url: '/pages/jobseeker/applications',// 传递userId作为参数success: (res) => {res.eventChannel.emit('userId', userInfo.value.id);}});
2. 接收方页面(被打开的页面)

通过 getOpenerEventChannel() 获取通道实例,监听事件并返回数据:

onLoad(() => {const pages = getCurrentPages();const currentPage = pages[pages.length - 1];const eventChannel = currentPage.getOpenerEventChannel();eventChannel.on('userId', (params) => {userId.value = params;// 其他代码...});
});

三、适用场景

  1. 数据回填
    例如从地址选择页返回选中地址到下单页。
  2. 跨页面实时交互
    如页面 A 跳转到页面 B 后,B 需要动态向 A 发送进度更新。
  3. 替代全局状态管理
    简单场景下可替代 Vuex,避免全局状态污染。
关键字:兰州科技公司有哪些_家具设计软件下载_如何开发软件app_全球十大搜索引擎排名及网址

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: