zoukankan      html  css  js  c++  java
  • on、off、emit的简单封装

    on的封装:

    思路:

    1.判断事件名称是否存在。

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

    3.如果不存在创建Key值为eventName,val为数组。

    const $on=(eventName,cb)=>{
    if(!eventList[eventName]){
    eventList[eventName] = [];
    }
    eventList[eventName].push(cb)
    }

    off封装:

    思路:

    1.当调用off的时候获取到eventName这个值,对值判断,如果值不存在直接return

    2.如果存在判断callback是否存在,如果存在删除指定的函数

    3.如果不存在将当前的数组清空。

    const $off =(eventName,callback){
    if(cb){
    let index = eventList[eventName].indexOf(cb);
    eventList[eventName].splice(index,1);
    }else{
    eventList[eventName].length = 0;
    }
    }

    emit封装

    1.当调用emit的时候获取到eventName这个值

    2.对值进行判断

    如果不存在直接return

    如果存在遍历这个值全局进行调用然后将parms传入这个函数;

    const $emit =((eventName,params)=>{
    if(eventList[eventName]){
    let arr = eventList[eventName];
    arr.map((cb)=>{
    cb(params)
    })
    }
    }

  • 相关阅读:
    python虚拟环境--virtualenv
    求导法则和高阶导数
    restful规范
    python协程--yield和yield from
    打印质数
    更改docker的存储位置
    同台ECS安装多个mysql
    jenkins + gitlab + harbor + k8s 部署项目
    jenkins 配置maven
    gitlab + jenkins 持续集成
  • 原文地址:https://www.cnblogs.com/yh6652210/p/11193473.html
Copyright © 2011-2022 走看看