zoukankan      html  css  js  c++  java
  • backbone-1.3.3源码解析-----------Event

    第一次写,写的不对的请指正

    backbone.js中的Event实现了自定义事件。自定义事件就是一个对象的键值对,key为事件名,value为一个function数组。在backbone这个对象中有一个内置的对象_events保存着所有的事件

    View Code

     所有Events的方法都是通过eventsApi调用的。

    eventsApi = function(iteratee, events, name, callback, opts){...}

    分别传入offApi,onceMap,triggerApi作为eventsApi的第一个参数实现对性的off,once,trigger。其中on和listenTo则是通过internalOn方法调用的eventsApi,internalOn方法则是通过第五个参数来区分on和listenTo。internalOn方法的目的就是保护第五个参数,提高安全性。

    这里有3个属性this._events={eventName:[]}和this._listeningTo={obj._listenId:{obj: obj, objId: id, id: thisId, listeningTo: listeningTo, count: 0}}和this._listeners={obj._listenId:{obj: obj, objId: id, id: thisId, listeningTo: listeningTo, count: 0}},这三个为map对象。Events这个类最终实现了对这3个对象的操作。

    注:Events.listenTo = function(obj, name, callback){...}这个方法调用一次操作了this._events,this._listeningTo和obj._listeners三个属性

  • 相关阅读:
    SpringBoot整合Redis缓存
    手写一个json格式化 api
    MYSQL 5.7 无法启动(Could not open error log file errno 2)
    如何获取算法运行状态
    Spring MVC
    Java设计模式
    Java设计模式
    Java设计模式
    Java设计模式
    学习myBatis
  • 原文地址:https://www.cnblogs.com/wangwei1314/p/5558654.html
Copyright © 2011-2022 走看看