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三个属性

转载于:https://www.cnblogs.com/wangwei1314/p/5558654.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值