EXT中Store加载流程

 EXT中所有和数据相关的类都放在Ext.data命名空间下。

    * Store:        最主要的对外交互接口,内部保存了一个数据集。
      JsonStore
      JsonReader    把代理读取的数据读入数据集。  
    * Record:       数据集里面的每一条记录。
    * DataField:    定义了记录每个字段的schema。
    * DataProxy:    获取数据的代理。
      ScriptTagProxy
      HttpProxy,
    * DataReader:   把代理读取的数据读入数据集。

 Store的实现
     内部用一个Ext.util.MixedCollection(既能够作为map进行索引,又能够作为list进行索引,并且更新数据时会触发事件,并且有一些其它功能的数据结构)作为数据集存放record。store实例的data域指向这个数据集。
   通过proxy加载不同来源的数据,如http remote,memory data等等。
   由于proxy加载过来的数据是异构的,所以通过不同DataReader的实现类来读入数据成为record。

    当调用load方法时候,就会委托proxy去加载数据。
    在data数据集中数据的数据,添加,修改,删除的时候触发事件。
Store数据加载流程简介
(1)实例化一个Proxy的实现proxy。
(2)实例化一个DataReader的实现reader。
(3)实例化一个Store对象store。设置store的proxy与reader。
(4)监听store的load事件或者datachange事件。
(5)调用store.load()
(6)store.load会调用proxy的load方法来加载数据(各种DataSource)。并且把reader作为参数传入。
(7)proxy的load方法加载完数据之后,调用传入的reader的read方法,并且把数据作为参数传入。
(8)reader的read方法把异构数据读入成record数据集。
(9)proxy把reader.read方法生成的record数据集作为参数,回调store。
(10)store把数据集添加到或者替换原来的数据集。
(11)触发load事件,触发datachange事件。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值