EventBus
EventBus 又称为事件总线。如果组件之间没有引入关系,也不需要用vuex库来处理通信,则可以用EventBus
main.js
Vue.prototype.$EventBus = new Vue()
如果有两个组件A,B需要进行通信,点击A页面按钮则传递数据给B
A.vue
<button @click="sendMsg"></button>
methods: {
sendMsg() {
EventBus.$emit("change", '来自A页面的消息');
}
}
B.vue
<template>
<p>{{msg}}</p>
</template>
<script>
export default {
data(){
return {
msg: ''
}
},
mounted() {
EventBus.$on("change", (msg) => {
// A发送来的消息
this.msg = msg;
});
}
};
//移除
EventBus.$off('change', {})
</script>