在vue项目中,若A 和 B不是父子组件,那怎么进行组件之间的传值呢,除了用vuex保存一些全局数据之外,还可以通过事件总线的方式,在组件之间进行传递信息
- 在main.js中,在vue的原型对象上加上个属性
Vue.prototype.$eventBus = new Vue()
// 原型对象上加上个属性$eventBus(自定义的名字,起什么都可),这样所有的vue实例中都可以调用这个属性了
- 发布事件,通过$emit抛出事件,并携带参数
this.$eventBus.$emit('事件名',参数)
- 监听事件,通过$on接收传来的数据
this.$eventBus.$on('事件名',处理函数)