zoukankan      html  css  js  c++  java
  • Events模块

     
          
         
       
    一、关于on、trigger
    (1)、on、trigger是观察者模式的实现。各观察者注册主题数据的监听,当主题数据发生变化时,各观察者执行自己的回调,处理业务逻辑。
    (2)、on实现原理
    示例:dataModel.on('dataChange', function(){});
    on方法内部为dataModel创建对象属性_events,数据结构为 {eventType : [callbackFunList]} 为不同的类型的自定义事件维护一个回调函数列表。通过on方法将对应的回调push到对应的列表。
    需要注意的是,on方法在将回调push到对应的列表时,并没有判断该回调函数的指针在列表中是否已经存在,示例:
    以上的实力代码将会打印两次:repeat repeat repeat repeat!
     
    (3)、trigger实现原理
     
    示例:dataModel.trigger('dataChange', {columnId : 1});
    访问dataModel的属性_events,根据事件类型(dataChange)取出回调函数列表,循环执行列表中的回调函数。通过数组保证执行顺序与绑定顺序的一致性。
    最后我们看一下139邮箱云邮局我的报刊模块的模型层的_events对象:
    (4)、once实现原理。通过once绑定的事件,执行一次后就被销毁。

     

  • 相关阅读:
    MySQL数据库的安装与配置
    java中的反射机制
    详谈设计模式之单列模式
    servlet内部转发与重定向
    servlet基础语句总结
    Servlet映射的俩种方法以及优缺点
    eclipse和idea的快捷键比较及idea如何调节eclipse的快捷键
    servlet
    JDK下载与安装教程
    正则表达式查询
  • 原文地址:https://www.cnblogs.com/hellohuman/p/3840816.html
Copyright © 2011-2022 走看看