• events 事件的绑定on,事件的触发emit,事件的移除off的一看就懂的封装方法


    //存放事件
        eventList = {
            key:val
            handle:[]
        }



        1对多
        on(eventName,callback);
            handle:-------N多个
        1、判断事件名称是否存在

        2、如果存在的情况下将cb存放在eventName这个数组当中

        3、如果不存在创建key值为eventName val值为数组



        1对多
        emit(eventName,params);

        当调用emit的时候获取到eventName这的值,对值判断,如果值不存在直接return
        如果存在遍历这个值全局进行调用,然后将params传入这些函数




        off(eventName,[callback])
        当调用off的时候获取到eventName这的值,对值判断,如果值不存在直接return
        如果存在判断callback是否存在  如果存在删除指定的函数
        如果不存在将当前数组清空


    */

    const EventList = {

    }

    1.事件的绑定
    const on = function(eventName,callback){
        if(!EventList[eventName]){
            EventList[eventName] = [];
        }

        EventList[eventName].push(callback);
    }

    2.事件的触发
    const emit = function(eventName,params){
        if(!EventList[eventName])return;

        EventList[eventName].map((cb)=>{
            cb(params)
        })
    }

    3.事件移除
    const off = function(eventName,callback){
        if(!EventList[eventName])return;

        if(callback){
            let index = EventList[eventName].indexOf(callback);
            EventList[eventName].splice(index,1);
        }else{
            EventList[eventName] = [];
        }
    }

  • 相关阅读:
    Xcode8 pod install 报错 “Generating Pods project Abort trap
    适配iOS10 的相关权限设置
    YTKNetworkConfig配置HTTPS请求
    HTTPS学习总结
    设置导航栏nav全透明
    更新 Python 库文件
    有道词典的本地/扩展/离线词库
    三国群英传2修改MOD基础
    添加/删除/修改Windows 7右键的“打开方式”
    Sublime Text安装Package Control
  • 原文地址:https://www.cnblogs.com/zhouyingying/p/10567748.html
Copyright © 2020-2023  润新知