事件追踪
使用stack
// 添加追踪
// const trackedOn = (event, callback) => {
// console.log(`Event "${event}" bound in:`, new Error().stack)
// emitter.on(event, callback)
// }
// const trackedEmit = (event, payload) => {
// console.log(`Event "${event}" emitted with payload:`, payload)
// emitter.emit(event, payload)
// }
// export const eventBus = {
// emitter,
// on: trackedOn,
// off: emitter.off,
// emit: trackedEmit,
// }
使用同级目录下定义动态的事件名称
动态提示该组件所有相关的事件
export const GUIDE_EVENTS = {
SHOW: "gis-api:guide-show",
TEST: "gis-api:guide-test",
} as const
// 同级*.vue
import { GUIDE_EVENTS } from "@gisapi/_components/guideEvents"
import {eventBus} from 'xxx'
eventBus.on(GUIDE_EVENTS.SHOW, ()=>{})
eventBus.on(GUIDE_EVENTS.TEST, ()=>{})
import { GUIDE_EVENTS } from "@gisapi/_components/guideEvents"
export type GisApiEventBusTypes = {
"gis-api:init": any // @gisapi/index.vue
"gis-api:checkServer": any // @gisapi/body/index.vue
"gis-api:show-preview": (url: string) => void // @gisapi/body/index.vue
[GUIDE_EVENTS.SHOW]: (string | number)[] // @gisapi/_components/guide.vue
[GUIDE_EVENTS.TEST]: any // @gisapi/_components/guide.vue
"gis-api:add-upload-task": () => void // @gisapi/utils/uploadHander.ts
}