美文网首页
自定义事件EventBus

自定义事件EventBus

作者: Mr老朝 | 来源:发表于2023-02-08 11:06 被阅读0次
    // 监听者
    let listeners = {};
    
    // 注册监听事件
    function registerListener(event, fn) {
      if (!listeners[event]) {
        listeners[event] = [];
      }
      let listener = fn;
      listeners[event].push(listener);
      return listeners;
    }
    
    // 取消监听
    function unregisterListener(event, listener) {
      if (listeners[event]) {
        let index = listeners[event].findIndex((item) => item === listener);
        listeners[event].splice(index, 1);
      }
    }
    
    // 触发事件
    function triggerEvent(event, data) {
      let fnList = listeners[event];
      if (fnList && fnList.length > 0) {
        for (let i = 0; i < fnList.length; i++) {
          let listener = fnList[i];
          listener(data);
        }
      }
    }
    
    

    相关文章

      网友评论

          本文标题:自定义事件EventBus

          本文链接:https://www.haomeiwen.com/subject/vjrqkdtx.html