当前位置:首页 > 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 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp消息推送

uniapp消息推送

uniapp消息推送实现方法 uniapp支持多种消息推送方式,包括uniPush、个推、极光推送等。以下为常见实现方案: uniPush(官方推荐) uniapp官方提供的推送服务,基于DClou…

uniapp应用市场

uniapp应用市场

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

uniapp打包

uniapp打包

uniapp打包步骤 H5平台打包 在项目根目录运行以下命令生成H5资源文件: npm run build:h5 打包完成后,文件默认输出到/dist/build/h5目录,可直接部署到Web服务器…

uniapp切片

uniapp切片

uniapp 切片实现方法 在 uniapp 中实现切片功能通常指的是对图片或数据进行分割处理。以下是几种常见的切片实现方式: 图片切片展示 通过 CSS 和 JavaScript 实现图片的网格化…

uniapp 用法

uniapp 用法

uniapp 基本概念 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持编译到 iOS、Android、H5 及小程序等多端。其核心特点是“一次开发,多端发布”,通过条件编译实现平台差异…