安装

npm install --save mitt

引入项目

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

对于单页面应用

参考最高点赞回答:https://stackoverflow.com/questions/63471824/vue-js-3-event-bus

对于多页面应用

  • 找到页面入口的vue文件,添加:
import mitt from 'mitt';
const emitter = mitt();
  • 给需要用到emitter的子组件用props传递传递emitter。如此,所有调用过emitter的组件均可使用。当然最好单独拉一个js出去,所有组件需要用时去调用那个js中的emitter,而不是写在vue中
  • 对于事件的监控
// attention: only one parameter allowed
emitter.on('customEventName', param => {
	// do something
});
  • 对于事件的触发
emitter.emit('customEventName', param);