vue-bus全局事件中心简单Demo

Posted sangzs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue-bus全局事件中心简单Demo相关的知识,希望对你有一定的参考价值。

1.vue-cli搭建好项目之后,使用npm安装vue-bus
1 npm install vue-bus

2.在入口文件main.js中全局注册

1 import Vue from ‘vue‘;
2 import VueBus from ‘vue-bus‘;
3 Vue.use(VueBus);

3.传递数据:

1 this.$bus.emit("eventName",data)

4.接收数据:

1 this.$bus.on("eventName",data)

5.注意事项

this的作用域要指向当前的vm实例,on监听事件一般放在组件生命周期函数中的created或者mounted中,注销bus需要在beforeDestroy中;

关于bus事件触发多次的问题,一方面可能因为vue组件被复用,导致一个bus事件被重复注册,破坏了“同事件名”bus,发送与接收唯一对应的关系;

另一方面是页面路由的时候,原有页面中的bus事件并没有被注销,依然隐藏在程序中。

以上是关于vue-bus全局事件中心简单Demo的主要内容,如果未能解决你的问题,请参考以下文章

vuex的使用

vue-bus实现兄弟组件通讯

VS code自定义用户代码片段snippet

EventBus手写实现事件通信框架 ( 实现几个关键的封装类 | 消息中心 | 订阅注解 | 订阅方法封装 | 订阅对象-方法封装 | 线程模式 )

EventBus事件通信框架 ( 总结 | 手写事件通信框架完整代码示例 | 测试上述框架 )

事件事件流