vue中事件总线

在vue项目中,若A 和 B不是父子组件,那怎么进行组件之间的传值呢,除了用vuex保存一些全局数据之外,还可以通过事件总线的方式,在组件之间进行传递信息

  1. 在main.js中,在vue的原型对象上加上个属性
Vue.prototype.$eventBus = new Vue()
// 原型对象上加上个属性$eventBus(自定义的名字,起什么都可),这样所有的vue实例中都可以调用这个属性了
  1. 发布事件,通过$emit抛出事件,并携带参数
this.$eventBus.$emit('事件名',参数) 
  1. 监听事件,通过$on接收传来的数据
this.$eventBus.$on('事件名',处理函数)

猜你喜欢

转载自blog.csdn.net/m0_49159526/article/details/107753835