ue-bus 提供了一个全局事件中心,并将其注入每一个组件,你可以像使用内置事件流一样方便的使用全局事件。这篇文章给大家介绍了vue bus全局事件中心简单Demo,需要的朋友参考下吧
1.vue-cli搭建好项目之后,使用npm安装vue-bus
npm install vue-bus
2.在入口文件main.js中全局注册
import Vue from 'vue';
import VueBus from 'vue-bus';
Vue.use(VueBus);
3.传递数据:
this.$bus.emit("eventName",data)
4.接收数据:
this.$bus.on("eventName",data)
5.注意事项
this的作用域要指向当前的vm实例,on监听事件一般放在组件生命周期函数中的created或者mounted中,注销bus需要在beforeDestroy中;
关于bus事件触发多次的问题,一方面可能因为vue组件被复用,导致一个bus事件被重复注册,破坏了“同事件名”bus,发送与接收唯一对应的关系;
另一方面是页面路由的时候,原有页面中的bus事件并没有被注销,依然隐藏在程序中。
总结
以上所述是小编给大家介绍的vue bus全局事件中心简单Demo详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! |