当前位置:首页 > uni-app

uniapp广播

2026-01-14 17:50:00uni-app

全局事件通信

在UniApp中实现广播功能可通过全局事件机制完成,适用于跨页面或组件通信。使用uni.$emituni.$onuni.$off等方法实现事件的触发、监听与移除。

发送广播(触发事件)

uni.$emit('eventName', { data: 'example' });

接收广播(监听事件)

uni.$on('eventName', (data) => {
  console.log('接收数据:', data);
});

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

uniapp广播

uni.$off('eventName');

页面间通信

若需特定页面间通信,可使用uni.navigateTo传递参数或利用uni.$emit结合页面生命周期。

通过URL传参

uniapp广播

uni.navigateTo({
  url: '/pages/targetPage?param=value'
});

目标页面接收参数
onLoad生命周期中获取:

onLoad(options) {
  console.log('参数:', options.param);
}

注意事项

  • 事件名需唯一,避免冲突。
  • 及时清理无用监听,防止内存泄漏。
  • 复杂数据建议使用Vuex进行状态管理。

示例场景

发送登录状态广播

// 登录成功后触发
uni.$emit('loginStatus', { isLogin: true });

多个页面监听登录状态

// 页面A
uni.$on('loginStatus', (status) => {
  console.log('登录状态更新:', status);
});

// 页面B
uni.$on('loginStatus', (status) => {
  this.isLogin = status.isLogin;
});

标签: uniapp
分享给朋友:

相关文章

uniapp怎么使用

uniapp怎么使用

安装与开发环境搭建 下载HBuilderX作为开发工具,这是官方推荐的IDE,内置uniapp项目模板和调试工具。安装后通过新建项目选择uniapp模板,支持Vue.js语法。确保Node.js环境已…

uniapp指南

uniapp指南

开发环境搭建 下载HBuilderX作为官方推荐的开发工具,支持Windows和Mac系统。安装后创建uni-app项目,选择模板(如默认模板、Hello Uni-app等)。确保Node.js版本在…

uniapp 滑动

uniapp 滑动

uniapp 实现滑动效果的方法 在uniapp中实现滑动效果可以通过多种方式,包括使用内置组件、CSS动画或第三方插件。以下是几种常见的方法: 使用scroll-view组件 scroll-vi…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

uniapp与vr

uniapp与vr

Uniapp与VR的结合方式 Uniapp作为跨平台开发框架,本身不直接支持VR开发,但可以通过以下方式实现与VR技术的结合: 使用WebXR API Uniapp可以调用WebXR API在H5端…

uniapp 推送

uniapp 推送

uniapp 推送实现方法 uniapp 推送功能可以通过多种方式实现,包括使用第三方推送服务、原生插件或 uni-push 服务。以下是几种常见的实现方法: 使用 uni-push 服务 uni…