当前位置:首页 > 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教程

uniapp 基础介绍 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp 推送

uniapp 推送

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

uniapp删除

uniapp删除

卸载 uniapp 项目依赖 在项目根目录下执行以下命令,移除 node_modules 和依赖锁文件: rm -rf node_modules package-lock.json 如需清理全局…

uniapp怎么使用

uniapp怎么使用

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

uniapp应用市场

uniapp应用市场

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

uniapp使用npm

uniapp使用npm

uniapp中使用npm的方法 uniapp支持通过npm安装和管理第三方依赖包,以下是具体操作步骤: 安装Node.js环境 确保本地已安装Node.js(建议使用LTS版本),安装后会自动包含…