eq1024 / mitter

实现发布订阅模式基础功能,可用于VUE3组件通讯

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mitter.js

一个实现发布订阅/eventbus基础功能的练习Demo

当我尝试实现时遇到的问题

  1. 为什么两次impor导入后,共享的对象却相同?

答 : import的执行是将代码静态引入,两次引入应该生成两个互不关联的作用域,事实上也确实如此。 之所以能够共享同一个对象,是因为node的模块机制,我们的代码最后如果打包到同一个chunk中,那么实际上mitt仅仅只执行了一次,而mitt内部会挂载一个全局对象,故而能够两次导入却共享同一对象内容,完成跨组件的发布和订阅.

文件结构描述

文件名描述 描述
a.js 模块
b.js 模块
bus.js 事件中心
mitter.js 订阅发布工具
x.js 模块

使用

mitter.add(事件名,函数) mitter.exec(事件名,参数)

About

实现发布订阅模式基础功能,可用于VUE3组件通讯


Languages

Language:JavaScript 82.2%Language:HTML 17.8%