eventbus.$on
时间: 2023-09-07 21:04:13 浏览: 107
Eventbus 使用
eventbus.$on是Vue.js中的一个事件监听器方法。它用于注册一个事件监听器,使得我们可以监听特定事件的触发,并执行相应的回调函数。
当我们在Vue组件中使用eventbus.$on方法时,需要首先导入eventbus对象,一般我们可以在main.js中创建一个全局的eventbus实例。然后,我们可以在任何一个组件中使用eventbus.$on来注册事件的监听器。
使用eventbus.$on方法时,我们需要传入两个参数。第一个参数是要监听的事件名,这个事件名可以是一个字符串,也可以是一个常量。第二个参数是一个回调函数,用于接收事件触发时传递的数据,并进行相应的处理。
例如,我们可以在一个组件A中使用eventbus.$on方法来监听一个名为"customEvent"的事件:
```
import eventbus from '@/eventbus.js'
export default {
created() {
eventbus.$on('customEvent', this.handleEvent)
},
methods: {
handleEvent(data) {
// 处理事件触发后的逻辑
console.log(data)
}
},
beforeDestroy() {
eventbus.$off('customEvent', this.handleEvent)
}
}
```
在组件A的created钩子函数中,我们使用eventbus.$on方法注册了一个事件监听器,监听了"customEvent"事件,并指定了一个叫做handleEvent的回调函数来处理事件的触发。
在回调函数handleEvent中,我们可以获取到事件触发时传递的数据,进行相应的处理。这里我们使用console.log来打印出传递的数据。
当不再需要监听事件时,我们可以使用eventbus.$off方法来取消事件的监听。在组件A的beforeDestroy钩子函数中,我们使用eventbus.$off方法来取消"customEvent"事件的监听。
阅读全文