'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import Vue from 'vue'
 
const getEmitter = (function () {
  let Emitter
  return function getUniEmitter () {
    if (!Emitter) {
      Emitter = new Vue()
    }
    return Emitter
  }
})()
 
function apply (ctx, method, args) {
  return ctx[method].apply(ctx, args)
}
 
export function $on () {
  return apply(getEmitter(), '$on', [...arguments])
}
export function $off () {
  return apply(getEmitter(), '$off', [...arguments])
}
export function $once () {
  return apply(getEmitter(), '$once', [...arguments])
}
export function $emit () {
  return apply(getEmitter(), '$emit', [...arguments])
}