当前位置:首页 > uni-app

uniapp $on

2026-03-04 20:43:13uni-app

在UniApp中,$on是用于监听全局事件的API,通常与uni.$emit配合使用实现跨页面通信。以下是具体用法和注意事项:

uniapp $on

监听全局事件

使用uni.$on(eventName, callback)监听自定义事件。eventName为事件名称,callback是触发时的回调函数。例如:

uniapp $on

// 在页面或组件中监听
uni.$on('updateData', (data) => {
  console.log('接收到数据:', data);
});

触发事件

通过uni.$emit(eventName, data)触发事件并传递数据:

// 在任何地方触发事件
uni.$emit('updateData', { message: 'Hello' });

移除监听

为避免内存泄漏,需在页面或组件销毁时移除监听:

// 页面卸载时移除
onUnload() {
  uni.$off('updateData');
}

注意事项

  • 事件名需唯一,避免冲突。
  • $on通常用于跨页面通信,同一页面内优先考虑propsvuex
  • 多次调用$on会重复监听同一事件,需确保及时清理。

示例场景

// A页面触发事件
uni.$emit('loginSuccess', { userId: 123 });

// B页面监听
uni.$on('loginSuccess', (res) => {
  console.log('用户ID:', res.userId);
});

通过合理使用$on$emit,可实现灵活的跨组件或页面通信。

标签: uniappon
分享给朋友:

相关文章

uniapp倒计时

uniapp倒计时

uniapp倒计时的实现方法 在uniapp中实现倒计时功能可以通过多种方式完成,以下是几种常见的实现方法: 使用setInterval实现基础倒计时 通过JavaScript的setInterv…

uniapp应用市场

uniapp应用市场

uniapp应用市场概述 Uniapp作为跨平台开发框架,支持将代码编译到iOS、Android、Web及各类小程序平台。其应用市场(插件市场)是开发者获取扩展插件、模板、组件的重要资源库,涵盖UI组…

uniapp样式库

uniapp样式库

uniapp 常用样式库推荐 uView UI uView 是专为 uniapp 设计的多端兼容 UI 框架,提供丰富的组件和工具类。支持 Vue3 组合式 API,内置主题定制功能,常用于快速构建企…

uniapp分享到facebook

uniapp分享到facebook

使用uniapp分享到Facebook的方法 在uniapp中实现分享到Facebook功能,可以通过调用原生插件或使用第三方SDK。以下是具体实现方式: 安装Facebook SDK插件 在un…

uniapp实现懒加载

uniapp实现懒加载

uniapp实现懒加载的方法 在uniapp中实现懒加载可以通过多种方式,以下是几种常见的方法: 使用uni.lazyLoad组件 uniapp提供了内置的懒加载组件,适用于图片等资源的懒加载。在页…

uniapp设置title

uniapp设置title

设置页面标题的方法 在UniApp中设置页面标题可以通过以下几种方式实现,适用于不同场景和需求。 通过pages.json配置 在pages.json文件中,可以为每个页面单独配置导航栏标题。找到…