注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

dojo/store  

2013-12-08 20:45:22|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
dojo/store作为dojo数据存储模块,它具有简单,易用,快速存取和管理数据的能力。dojo/store是1.6版本后dojo基于HTML5的 IndexedDB object store API重新实现的模块,与之前版本旧的dojo/data中的存储是不同的。

详细的API这里就不讲述了,这些内容大家可以参考下面的网址
http://dojotoolkit.org/reference-guide/1.9/dojo/store.html

dojo/store所包含的几个重要模块

dojo/store/Memory 客户端对象存储,它是dojo/store中最基本的存储,你可以构建你的客户端存储,对其增删改查。
dojo/store/JsonRest 服务器端的对象存储 (用于REST/JSON) ,用它来管理服务器端的Ajax请求或者REST服务。
dojo/store/DataStore 适配器, 旧存储转换过成新存储,就可以使用新存储的API。
例如
require(["dojo/data/ItemFileWriteStore", "dojo/store/DataStore"], function(ItemFileWriteStore, DataStore){
    datastore = new ItemFileWriteStore({url:"data.json"});

    store = new DataStore({store: datastore});

    store.query("foo=bar").then(function(results){
        // use the query results returned from the server
    });
});
dojo/data/ObjectStore 适配器, 新存储转换成旧存储。
例如使用DataGrid时, DataGrid使用的是旧的存储,所以需要转换一下。
var objectStore = new dojo.store.JsonRest({target:"/Table/"});

var dataStore = new dojo.data.ObjectStore({objectStore: objectStore});

// we can now use dataStore with any legacy Dojo Data consumer
var grid = new dojox.data.DataGrid({
  store: dataStore,
  ...
});
dojo/store/Observable 用于对存储的变化进行监控的模块。
dojo/store/Cache 为存储增加缓存。
例如JsonRest作为主存储,Memory作为Cache
restStore = new JsonRest(...);
memoryStore = new Memory();
store = new Cache(restStore, memoryStore);

store.get(1) //通过请求去拿id为1的对象
store.get(1) //使用的是本地的Memory Cache
store.put({id:2, name:"two"}) //将对象保存在主存储和本地的Memory Cache
store.get(2) //使用本地的Memory Cache
存储作为dojo数据管理的基础是非常重要的,像Tree,Grid, Chart等组件都用它来做数据源。

参考资料

http://dojotoolkit.org/reference-guide/1.9/dojo/store.html
http://www.sitepen.com/blog/2011/02/15/dojo-object-stores/

  评论这张
 
阅读(929)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017