欢迎使用CSDN-markdown编辑器

来源:互联网 发布:中南工程咨询设计 知乎 编辑:程序博客网 时间:2024/05/22 01:31

vue之组件通讯-eventBus

在vue文件内,经常会遇到组件之间的通讯,最常见的是父子组件之间的通讯,在vue1.0中父组件向子组件中广播事件用$broadcast,子组件向父组件通讯用$emit,vue2.0彻底抛弃了$broadcast,全面拥抱了vuex,导致父子之间若实现简单的通讯写起来非常繁琐,在此处可以引入evenbus实现所有组件之间的通讯。

 \\单独创建bus.js文件 import Vue from 'vue' export default new Vue()
\\hello.vueimport eventBus from 'bus.js'eventBus.$emit('doSomething','123456')
\\helloChild.vueimport eventBus from 'bus.js'eventBus.$on("doSomthing",function(val){  console.log(val)})

优点
简单,方便。
缺点
事件名称为全局的名称,多人协作开发可能会重名风险, 因此不是个多人开发。

原创粉丝点击