vue 兄弟组件之间事件触发($emit)与event Bus($on)

兄弟组件A  B

A页面无论是点击哪个个按钮,如果改变了列表中的数据,B列表需要实时更新数据。

然后就可以通过emit、on进行通信:如下:

B组件中发射

this.$eventBus.$emit('openDemandList')

接着,我们要在A组件中的created()钩子中调用bus监听这个事件,并接收参数:

 

 

 

Vue事件总线(eventBus)$on()会多次触发解决办法

解决办法就是在beforeDestroy或destroy周期中将事件进行销毁,使用$off()

beforeDestroy () {bus.$off('openDemandList') },


 

posted @ 2021-04-27 15:27  lyprecords  阅读(2273)  评论(0)    收藏  举报