vue之组件通讯-eventBus
在vue文件内,经常会遇到组件之间的通讯,最常见的是父子组件之间的通讯,在vue1.0中父组件向子组件中广播事件用$broadcast,子组件向父组件通讯用$emit,vue2.0彻底抛弃了$broadcast,全面拥抱了vuex,导致父子之间若实现简单的通讯写起来非常繁琐,在此处可以引入evenbus实现所有组件之间的通讯。
\\单独创建bus.js文件
import Vue from 'vue'
export default new Vue()
\\hello.vue
import eventBus from 'bus.js'
eventBus.$emit('doSomething','123456')
\\helloChild.vue
import eventBus from 'bus.js'
eventBus.$on("doSomthing",function(val){
console.log(val)
})
优点:
简单,方便。
缺点:
事件名称为全局的名称,多人协作开发可能会重名风险, 因此不是个多人开发。