$bus.$emit
时间: 2024-04-18 12:22:39 浏览: 116
$bus.$emit是Vue.js中的一个方法,用于在组件之间进行事件通信。它通过触发一个自定义事件,并传递数据给其他组件。具体来说,$bus是一个Vue实例,可以在任何组件中使用。使用$emit方法可以触发一个自定义事件,并将数据传递给其他组件。
例如,假设我们有两个组件A和B,组件A想要向组件B发送一条消息。首先,在组件A中使用$emit方法触发一个自定义事件,并传递需要发送的数据。然后,在组件B中使用$on方法监听该自定义事件,并在回调函数中处理接收到的数据。
下面是一个示例代码:
// 组件A
<template>
<button @click="sendMessage">发送消息</button>
</template>
<script>
export default {
methods: {
sendMessage() {
this.$bus.$emit('message', 'Hello, Component B!');
}
}
}
</script>
// 组件B
<template>
<div>{{ receivedMessage }}</div>
</template>
<script>
export default {
data() {
return {
receivedMessage: ''
}
},
mounted() {
this.$bus.$on('message', (message) => {
this.receivedMessage = message;
});
}
}
</script>
在上述示例中,当点击组件A中的按钮时,会触发自定义事件'message',并将消息'Hello, Component B!'传递给组件B。组件B通过监听该自定义事件,并将接收到的消息显示在页面上。
阅读全文