当前位置: 首页 > news >正文

【小程序】小程序的eventBus

小程序组件跨组件通讯没有比较好的方案,小程序原生的方法也不支持eventBus,只能自己开发一个

源码网上看了些,加gpt修改一下

var EventBus = function () {function EventBus() {this.events = {};}EventBus.prototype.on = function (eventName, callback) {if (!this.events[eventName]) {this.events[eventName] = [];}this.events[eventName].push(callback);};EventBus.prototype.emit = function (eventName) {var _this = this;var args = [];for (var _i = 1; _i < arguments.length; _i++) {args[_i - 1] = arguments[_i];}if (this.events[eventName]) {this.events[eventName].forEach(function (callback) {return callback.apply(_this, args);});}};EventBus.prototype.off = function (eventName, callback) {if (!callback) {this.events[eventName] = [];} else {this.events[eventName] = this.events[eventName].filter(function (cb) {return cb !== callback;});}};return EventBus;
}();module.exports = new EventBus();

调用

	import eventBus from ../utils/eventBus.js//监听eventBus.on('bus',(res)=>{console.log(res)})//发送eventBus.emit('bus','传参')//取消eventBus.off('bus')

http://www.mrgr.cn/news/9436.html

相关文章:

  • 状态压缩DP---最短Hamilton路径
  • [Day 63] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 【Remi Pi开发环境搭建】主要包括虚拟机的创建以及开发板镜像的烧录
  • 6G网络的关键技术、应用前景与挑战并存的科技征途
  • Maven-08.依赖管理-生命周期
  • STM32(七):定时器——输入捕获
  • 异常处理 || 抛出 || 捕获 || noexcept || 异常类
  • C语言第17篇
  • Android中实现WebView的秒开场景及方案
  • OSPF与BGP防环机制总结
  • flutter开发小技巧
  • ffplay源码分析(二)结构体VideoState
  • 电脑U口管理软件分享|U口管理软件哪个好?
  • 交叉编译Qt5.12.8附带编译opengl
  • 编程思想:编程范式:面向对象
  • 递归搜索与回溯专题篇一
  • 目标检测多模态大模型实践:貌似是全网唯一Shikra的部署和测试教程,内含各种踩坑以及demo代码
  • 幂等方案分析
  • chrome扩展程序本地打包
  • 流体中的流线【StreamLines】的实现