美文网首页
Observer 事件机制封装

Observer 事件机制封装

作者: 鹤仔z | 来源:发表于2020-03-11 01:40 被阅读0次

目标:封装一个对象,使其拥有 $on , $emit$off 方法,进行事件的订阅、抛发和移除。

实现过程如下:

const eventList = {}

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

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

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


export default {
    $on,
    $emit,
    $off
}

相关文章

  • Observer 事件机制封装

    目标:封装一个对象,使其拥有 $on , $emit 和 $off 方法,进行事件的订阅、抛发和移除。 实现过程如下:

  • ReactiveSwift(上)

    Observer Observer信息的处理逻辑封装, Observer的主要代码如下: //Observer.s...

  • jQuery事件

    1.事件机制jQuery的事件机制,指的是:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑...

  • --

    react事件机制 react基于浏览器原生事件机制,封装了一套自己的事件机制,包括事件注册、事件合成、冒泡和捕获...

  • jQuery事件机制

    jQuery的事件机制,指的是:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑...

  • 【PyQt】事件机制

    信号与槽机制是对事件机制的高级封装事件机制更偏向于底层 每个 Qt 应用程序对应一个 QAppliation 对象...

  • iOS-OC底层18:KV0原理

    1.概念 KVO(Key-Value-Observer)也就是观察者模式(键值观察),是苹果提供的一套事件通知机制...

  • KVO面试题

    概念 KVO(Key-Value-Observer)也就是观察者模式,是苹果提供的一套事件通知机制。允许对象监听另...

  • android笔记 事件拦截机制分析  

    触摸事件拦截机制 在MotionEvent中封装了不少的事件类型,如 按下MotionEvent.ACTION_D...

  • Android的事件传递机制

    android事件机制源码分析 一个点击事件,或者说触摸事件,被封装为了一个MotionEvent。事件的分发主要...

网友评论

      本文标题:Observer 事件机制封装

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