main.ts Vue.prototype.$bus = new Vue() xxx.vue import CombinedVueInstance from 'vue' export default class XXX extends Vue { $bus!: CombinedVueInstance emitHandle() { this.$bus.$emit('test', 'hello') } } yyy.vue import CombinedVueInstance from 'vue' export default class YYY extends Vue { $bus!: CombinedVueInstance mounted() { this.$bus.$on('test', (msg) => { console.log(msg) }) } }