SOURCE

console 命令行工具 X clear

                    
>
console
// 实现简单的Event模块的emit和on方法
function PingEvents() {
  // on
  this.$on = function(eventName, callBack) {
    if (!this.handles) {
      this.handles = {}
    }
    if (!this.handles[eventName]) {
      this.handles[eventName] = []
    }
    this.handles[eventName].push(callBack)
  }
  // emit
  this.$emit = function(eventName, obj) {
    if (this.handles[eventName]) {
      for (let i = 0; i < this.handles[eventName].length; i++) {
        this.handles[eventName][i](obj)
      }
    }
  }
  return this
}

var pingEvents = new PingEvents()
// on
pingEvents.$on('say', function(name) {
  console.log('Say Hello', name)
})
pingEvents.$emit('say', 'test')
// pingEvents.$emit('say', 'test')
实现简单的Event模块的emit和on方法