$bus是什么?

关于$bus 我们把它叫做事件总线,它Vuex很像,但是它不是用来管理状态的,是管理事件总线的。主要是解决无关系组件之间的交互问题。

组件中使用

可以通过this.$bus.$emit(‘aaa’)发送事件函数
可以通过this.$bus.$on(‘aaa’)接受事件函数
在一个组件中发送

methods:{
	foo(){
		this.$bus.$emit('aaa',this.aaa)//发送数据,第一个参数是发送数据的名称,接收时还用这个名字接收,第二个参数是这个数据现在的位置;
	}	
}

另一个组件接受

created() {
	this.$bus.$on('aaa', (aaa)=>{}) //接收数据,第一个参数是数据的名字,与发送时的名字对应,第二个参数是一个方法,要对数据的操作
}

因为$bus没有挂载vue所以一直是undefined

可以在main.js中挂载

Vue.prototype.$bus = new Vue()
Logo

前往低代码交流专区

更多推荐