Vue中 事件总线(eventBus)使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue中 事件总线(eventBus)使用相关的知识,希望对你有一定的参考价值。

参考技术A 在Vue中如果两个页面组件中没有任何引入和被引入关系,该如何通信呢?首先可能会想到是Vuex ,但是如果应用程序不需要类似 Vuex 这样的库来处理组件之间的数据通信,就可以考虑 Vue 中的事件总线 ,即 eventBus 来通信。
eventBus 又称为事件总线。在 Vue 中可使用 eventBus 来作为沟通桥梁的概念,就像是所有组件共用相同的事件中心,可向该中心注册发送事件或接收事件,所以组件都可以上下平行地通知其他组件。由于太方便如若使用不慎,就会造成难以维护的“灾难”,因此才需要更完善的 Vuex 作为状态管理中心,将通知的概念上升到共享状态层次。

A组件已经向全局事件总线EventBus发送了一个aMsg事件,这时B组件就可以去aMsg监听这个事件,并可以获得一些数据。

eventBus 适合小项目、数据被更少组件使用的项目,对于中大型项目数据在很多组件之间使用的情况 eventBus 就不太适用了。eventBus 其实就是一个发布订阅模式,利用 Vue 的自定义事件机制,在触发的地方通过 $emit 向全局Bus外发布一个事件,在需要监听的页面,通过 $on 监听事件。最后在组件销毁时,需要通过 $off 将事件移除监听

Vue eventBus 事件总线

技术图片

 

技术图片

 

 

 技术图片

 

技术图片

 

 1.创建总线JS 

2.引入需要使用的地方,或者在main.js里面全局引入 注册

3.绑定bus.$on总线名称

4.使用总线的方法bus.$emit

 

以上是关于Vue中 事件总线(eventBus)使用的主要内容,如果未能解决你的问题,请参考以下文章

vue事件总线EventBus

vue 事件总线EventBus的概念、使用

vue 事件总线EventBus的概念、使用以及注意点

Vue中 事件总线(eventBus)详解及使用

Vue eventBus 事件总线

Vue eventBus 事件总线