vue2利用Bus.js如何实现非父子组件通信详解
前言
大家应该都知道,vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()。如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中,都引入Bus,然后通过分别调用Bus事件触发和监听来实现通信和参数传递。下面话不多说了,来一起看看详细的介绍吧。
Bus.js可以是这样
importVuefrom'vue' exportdefaultnewVue()
在需要通信的组件都引入Bus.js
importBusfrom'../common/js/bus.js'
添加一个button,点击后$emit一个事件
methods
methods:{
toBus(){
Bus.$emit('on','来自兄弟组件')
}
}
另一个组件也importBus.js在钩子函数中监听on事件
importBusfrom'../common/js/bus.js'
exportdefault{
data(){
return{
message:''
}
},
mounted(){
Bus.$on('on',(msg)=>{
this.message=msg
})
}
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短