朋友们,作为一名软件工程师,你一定用过Event Emitter,我们经常用它来处理跨组件的通信场景。,它触发了一个每个人都可以收听的事件,并且可以在事件触发时发送数据。,不同的库提供不同的实现,用于不同的目的,但基本思想是提供一个用于发布和订阅事件的框架。,你想知道它背后的魔力吗?本文将与你分享一个非常简单的解决方案来实现它。,我们一起来试试。,请用以下这个例子来玩一会儿。,输出:,
,当你点击 Please send me data 按钮时,你会看到 count 的值越来越大,但是在你点击 Cut off contact 之后,它就不再变化了。,这个例子很简单,但足以说明有关 Event Emitter 的一切。,来,我们开始吧!,Event Emitter 只需几行代码就可以完成,这真是太神奇了。,2. 发布事件,eventCallback 将打印两次数据,因为我们两次发布了 event-xxx 事件。,
,当我们解除 event-xxx 事件时,不再打印 medium 和 fatfish。,
,实现 EventEmitter 的关键是 CustomEvent 和浏览器的事件机制,你可以从这里得到:https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent。,CustomEvent() 构造函数创建一个新的 CustomEvent 对象。——来自 MDN,
,虽然,这种方法很简单,但它依赖于浏览器环境,还有其他更好的解决方案吗?,
,以上就是我今天跟你分享的关于事件发射器的全部内容,不知道你还有没有其他更好的实现方法?如果有的话,请记得在留言区跟我分享你的解决方案,在此,非常感谢。,看完今天内容,如果你觉得有用的话,请记得点赞我,关注我,并将这篇内容分享给你的朋友们,也许能够帮助到他。,最后,感谢你的阅读,编程愉快!
© 版权声明
文章版权归作者所有,未经允许请勿转载。