Source

plugins/mitt.js

import { default as createMitt } from 'mitt'
import Vue from 'vue'

/**
 * Mitt default instance
 *
 * IMPORTANT NOTICE: Avoid using mitt as much as possible. Ask for alternative communication strategies.
 */
export const mitt = (Vue.prototype.$mitt = createMitt())

export default mitt

Vue.use({
  install() {
    Vue.$mitt = Vue.prototype.$mitt = {
      on(name, callback) {
        //console.log('$mitt.on',name)
        return mitt.on(name, callback)
      },
      off(name, callback) {
        //console.log('$mitt.off',name)
        return mitt.off(name, callback)
      },
      emit(name, data) {
        //console.log('$mitt.emit',name, data)
        return mitt.emit(name, data)
      },
    }
  },
})