github.com/e154/smart-home@v0.17.2-0.20240311175135-e530a6e5cd45/static_source/admin/src/hooks/web/useEmitt.ts (about) 1 import mitt from 'mitt' 2 import { onBeforeUnmount } from 'vue' 3 4 interface Option { 5 name: string // 事件名称 6 callback: Fn // 回调 7 } 8 9 const emitter = mitt() 10 11 //DEPRECATED 12 export const useEmitt = (option?: Option) => { 13 if (option) { 14 emitter.on(option.name, option.callback) 15 16 onBeforeUnmount(() => { 17 emitter.off(option.name) 18 }) 19 } 20 21 return { 22 emitter 23 } 24 }