Nuxt使用Vue Bus

如何在Nuxt中优雅的使用Vue Bus. 完美解决方案如下:

新建plugin,eventBus.ts

import Vue from 'vue'

declare module 'vue/types/vue' {
  interface Vue {
    $bus: Vue
  }
}

const eventBus: any = {}
eventBus.install = function (Vue: any) {
  Vue.prototype.$bus = new Vue()
}

Vue.use(eventBus)

在nuxt.config.js中配置

plugins: [ { src: '~/plugins/eventBus' } ]

使用的时候直接:

this.$bus.on('eventname', ()=>{})

引用