1.首先,先安装mitt依赖
npm install --save mitt
2.在Vue组件中引入mitt库并创建一个事件总线对象:
import mitt from 'mitt';
const emitter = mitt();
3.将事件总线对象挂载到Vue实例中:
this.$emitter = emitter;
4.在JavaScript文件中,引入mitt库并获取之前创建的事件总线对象:
import mitt from 'mitt';
const emitter = mitt();
5.在JavaScript文件中,通过事件总线对象发送一个事件,并传递需要改变的数据:
emitter.emit('change-data', data);
6.在Vue组件中,监听事件总线对象的change-data事件,并在事件处理函数中改变组件的数据:
let message='Hello World!'
created() {
this.$emitter.on('change-data', (data) => {
message = data;
});
}
在这个示例代码中,我们在Vue组件中创建了一个事件总线对象,并在JavaScript文件中通过这个事件总线对象发送了一个change-data事件,并传递了需要改变的数据。在Vue组件中,我们监听了这个事件,并在事件处理函数中改变了组件的数据。
需要注意的,在使用Mitt来实现通信时,Vue组件和JavaScript文件之间需要共享同一个事件总线对象,以便它们之间可以互相通信。