您的位置:首页 > 娱乐 > 八卦 > 【小程序】小程序的eventBus

【小程序】小程序的eventBus

2024/10/6 6:03:21 来源:https://blog.csdn.net/c347087870/article/details/141397793  浏览:    关键词:【小程序】小程序的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')

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com