事件总线是Vue.js中一种常用的通信方式,用于在组件之间传递数据。下面将通过一个简单的例子来展示如何使用事件总线。

基本用法

首先,创建一个事件总线对象:

// event-bus.js
import Vue from 'vue';
export const EventBus = new Vue();

然后,在任何组件中,你可以使用这个事件总线来监听和触发事件:

// ComponentA.vue
<template>
  <div>
    <button @click="sendEvent">发送事件</button>
  </div>
</template>

<script>
import { EventBus } from './event-bus.js';

export default {
  methods: {
    sendEvent() {
      EventBus.$emit('custom-event', 'Hello from ComponentA!');
    }
  }
};
</script>
// ComponentB.vue
<template>
  <div>
    <p>接收到消息:{{ message }}</p>
  </div>
</template>

<script>
import { EventBus } from './event-bus.js';

export default {
  data() {
    return {
      message: ''
    };
  },
  created() {
    EventBus.$on('custom-event', (msg) => {
      this.message = msg;
    });
  }
};
</script>

扩展阅读

更多关于Vue.js的教程和示例,请访问Vue.js 官方文档

图片示例

Vue.js Logo