vue中使用bus通信
新建bus.js文件
import Vue from 'vue';
// 总线,一些组件间简单的数据交流通过它来进行,比如侧边栏折叠。过于复杂的数据推荐使用Vuex
const bus = new Vue();
export default bus;
demo1.vue 传值
//引入bus.js文件
import Bus from "@/views/common/bus.js";
methods:{
// 传值
handle(){
Bus.$emit('isLeft', '点击事件!');
},
}
demo2.vue 接收
//引入bus.js文件
import Bus from "@/views/common/bus.js";
mounted(){
//给Bus绑定一个isLeft事件
Bus.$on('isLeft', (info) => { //info 接收的参数
console.log(info)
});
}
注销bus需要在beforeDestroy中,不销毁的话会一直叠加的调用这个方法
beforDestroy(){
Bus.$off("isLeft")
}