官网这个方法是非父子组件之间的传值,用了之后才发现父子组件其实也可以用this.bus.$emit('xxx',data) 和 this.bus.$on('xxx',(data)=>{}) 。但是在用这个传值方法的时候发现一个问题,尤其是在父子组件之间用的时候,从一个组件中使用$emit触发事件之后,另一个组件的监听事件$on不生效,官网的意思就是使用bus传值的时候,$on一定要在$emit事件触发之前就要创建,否则在触发$emit事件的时候,$on是监听不到的(因为这个时候$on压根就没有创建) 。由于项目里父子组件我用了bus,结果不生效,是因为我的子组件是v-if控制的,只有在点击父组件的某个按钮时子组件的v-if才会变成true,恰好我的bus传值中的$emit触发事件也是在点击父组件的时候会触发,这样子组件正在创建的时候(我猜想此时子组件的$on监听事件还没创建,不知道对不对),我的$emit触发事件已经结束了,所以表面上看起来是bus传值不生效,实际上是因为$on监听事件还没创建成功的时候,$emit已经结束了,这是个大坑,也是最近偶然之间踩到的。