当前位置:首页 > 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 推送功能可以通过多种方式实现,主要包括使用第三方推送服务、原生插件或云服务。以下是几种常见的实现方案: 使用 UniPush 服务 UniPush 是…

uniapp消息推送

uniapp消息推送

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

uniapp和vue有什么区别

uniapp和vue有什么区别

uniapp和vue的区别 1. 定位与用途 Vue:一个渐进式JavaScript框架,专注于构建用户界面,适用于开发单页应用(SPA)或复杂前端项目。 UniApp:基于Vue.js的跨…

uniapp删除

uniapp删除

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

uniapp 消息推送

uniapp 消息推送

uniapp 消息推送实现方法 使用uniPush服务 uniapp官方提供了uniPush服务,支持iOS、Android及小程序平台的消息推送。需要在manifest.json中配置推送模块,并按…

uniapp倒计时

uniapp倒计时

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