Vue3 中可以使用 Vue.observable
函数将一个普通的 JavaScript 对象转换成响应式对象。然后就可以在组件内使用 $on 和 $emit 方法来注册和触发全局事件。
例如,在 main.js 文件中,我们可以这样创建一个全局事件对象:
import { createApp }from 'vue'
const app = createApp()
const globalEvent = app.observable({
event: '',
payload: null
})
app.config.globalProperties.$event = globalEvent