Logo white

BJ_ZTEITS-Developers / parking-cloud-yudao

Sign in
  • Sign in
  • Project
  • Files
  • Commits
  • Network
  • Graphs
  • Milestones
  • Issues 0
  • Merge Requests 0
  • Labels
  • Wiki
  • parking-cloud-yudao
  • yudao-ui-admin-vue3
  • src
  • hooks
  • web
  • useEmitt.ts
  • feat: add vue3(element-plus)
    80a3ae8d
    xingyu authored
    2022-07-18 19:06:37 +0800  
    Browse Code »
useEmitt.ts 374 Bytes
Edit Raw Blame History
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
import mitt from 'mitt'
import { onBeforeUnmount } from 'vue'

interface Option {
  name: string // 事件名称
  callback: Fn // 回调
}

const emitter = mitt()

export const useEmitt = (option?: Option) => {
  if (option) {
    emitter.on(option.name, option.callback)

    onBeforeUnmount(() => {
      emitter.off(option.name)
    })
  }

  return {
    emitter
  }
}