`
子衿青青
  • 浏览: 110890 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

深入了解Dojo Data

 
阅读更多

深入了解Dojo Data

——译自http://www.sitepen.com/blog/2010/10/13/dive-into-dojo-data/

使用Dojo Data有助于快速创建Web应用的界面,且易于嵌入各种数据源。它在用户界面与底层数据之间提供了一层抽象层,使得用户界面开发人员能够专注于UI的开发,而无需担心数据库、服务器、或者数据格式的唯一性。

在接下来的例子里,我们将用一个JsonRestStore为DataGrid提供数据。然后,我们将用一个XmlStore替换这个JsonRestStore,以显示UI和数据源的解耦所带来的便利。

数据以JSON的方式表示:


小提示:可以到jsonlint.org 验证JSON格式的正确性。

JsonRestStore需要与一个数据服务相连。本例中我们只创建一个模拟服务。注意为了简单起见,我们将省略"query"这个参数,返回所有的数据项。

下一步,我们用一个服务函数和一个目标URL来创建JsonRestStore。同样,对于这个例子而言我们将省略"target"参数。这个残水对于今后开发真正的REST服务非常重要,但现在暂时不需要。


JsonRestStore适用于比较大型的数据集。对于这种数据集,你往往不想(或根本不可能)高效地将其完全传送到客户端。JsonRestStore能够很好地处理与服务器端的交互。

最后,我们来声明一个dojox.grid.DataGrid。我们将用它显示数据。


同样的JsonRestStore也能够同时为一个dijit.form.ComboBox提供数据:


看,把同一份数据用于不同的UI小部件就是这么简单!

接下来,我们用一个XmlStore来换下这个JsonRestStore,看看转换数据格式有多简单。数据文件如下:

然后,创建XML数据存储器:

XmlStore是一个客户端的数据存储器,用于读取XML数据源。它由Dojo官方提供并包含在DojoX子项目中。XmlStore为基本的XML数据(一种常用的数据交换格式)提供读/写接口。XmlStore可以用于一般的XML文档,因此非常有用。存储器的设计是你可以通过覆盖其部分方法来自定义读/写数据的行为。

最后,将它交给DataGrid。

同时,更新ComboBox:

我们不需要修改关于Grid和ComboBox的任何代码,就能让它们继续工作。唯一需要做的改动,就是声明一个数据源,并将它设置为grid的输入。我们不需要操心任何关于数据获取、解析、以及管理的事情,数据存储器的API做了所有的工作!

除此之外还有其他许多有用的数据存储器,包括CsvStore,FileStore,FlickrStore,JsonQueryRestStore,PersevereStore,ServiceStore,WikipediaStore,等等。如果需要一个完整列表,请参见dojox.data目录

Dojo Data是一个强大而灵活的工具。数据存储器使得切换前端组件和后端实现都变得很容易,不需要改变许多代码。因此我们可以为同一个数据存储器很方便地更换前端Diji部件,另外,同一个数据存储器也能由页面上的多个Dijit部件、图表或grid同时使用。

更多相关资源:

分享到:
评论

相关推荐

    dojo中文文档-dojo手册

    《dojo中文文档-dojo手册》提供了全面而深入的Dojo框架知识,这是一份非常有价值的资源,对于想要理解和掌握Dojo ...通过阅读和实践,开发者可以深入理解Dojo的精髓,提高开发效率,打造出更加优秀的Web应用。

    dojo-release-1.10.0

    "dojo-release-1.10.0"是Dojo框架的一个特定版本,源码的发布使得开发者能够深入理解Dojo的工作原理并进行定制化开发。 1. **模块化系统(AMD)** Dojo 1.10.0 使用了Asynchronous Module Definition(AMD)加载...

    dojo练习

    通过这个文件,你可以深入理解Dojo的各个模块和函数,学习如何在项目中正确地引入和使用Dojo。 【dojo函数.html】可能是讲解Dojo中特定函数或功能的网页,可能涵盖了Dojo的核心函数、类或者方法的用法,例如dojo....

    dojo工具包zip

    现在,让我们深入了解一下Dojo工具包的核心知识点。 Dojo是开源的JavaScript框架,由Dojo Foundation维护。它提供了一系列强大的功能,包括DOM操作、AJAX通信、事件处理、动画效果、模块化编程、国际化和本地化支持...

    dojo开发帮助文档

    Dojo 是一个强大的JavaScript 库,它为Web 开发提供了丰富的功能和工具,包括模块化、用户...通过阅读并实践文档中的内容,你可以深入了解Dojo 的架构、使用方法以及最佳实践,从而更好地利用Dojo 实现复杂Web功能。

    Dojo框架使用教程

    本教程将深入探讨Dojo框架的使用,帮助开发者更好地理解和应用这一工具。 首先,从`dojo-release-0.9.0.tar.gz`这个文件名可以看出,这是一个Dojo框架的早期版本,版本号为0.9.0。在学习过程中,了解不同版本间的...

    dojo开发文档

    Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富...通过阅读和实践,可以深入了解Dojo在实际项目中的应用和配置技巧。记住,不断学习和探索是提高技术能力的关键,Dojo的丰富功能和强大性能等待着你去发掘。

    Dojo权威指南源代码

    源代码文件"example_code"包含了书中各种示例和练习的实现,这些代码有助于理解Dojo的核心概念和API用法。以下是一些关键知识点: 1. **Dojo模块系统**:Dojo采用AMD(Asynchronous Module Definition)模式,允许...

    精通Dojo 随书源码

    《精通Dojo》随书源码是一份宝贵的资源,它为深入理解Dojo JavaScript库的工作原理提供了实践基础。Dojo是Web开发中的一个强大工具集,由Dojo基金会创建,旨在提供一套完整的前端开发解决方案,包括UI组件、数据管理...

    dojo1.8.3官方demo

    在学习和使用这些示例时,你可以深入理解Dojo如何与HTML、CSS和JavaScript协同工作,如何通过模块化来组织代码,以及如何利用Dojo的工具和API来提升开发效率和应用性能。此外,还可以探索Dojo的模块化加载机制(AMD...

    dojo入门实例介绍

    Dojo 是一个强大的...通过学习和实践这些基本实例,初学者可以逐步深入理解Dojo的工作原理,从而更高效地开发Web应用。在探索Dojo的过程中,务必多做实践,结合实际项目应用,这样才能更好地掌握这个强大的工具库。

    dojo包和例子

    5. **dojo/data**:虽然已被`dojo/store`取代,但在一些较旧的例子中,可能还会看到`dojo/data`,它提供了一种抽象的数据访问机制,可以用于从不同数据源获取和操作数据。 6. **dijit**:Dijit是Dojo的UI组件库,...

    dojo JavaScript框架 Ajax学习

    dojo JavaScript框架是Web开发中的一个强大工具,特别在处理...在学习过程中,深入理解`dojo.xhr`、`dojo.io.bind`、`dojo.data`、`dijit`以及状态管理和事件系统等核心概念,将对提升JavaScript和Ajax技能大有裨益。

    精通Dojo(中文版)

    《精通Dojo(中文版)》是一本深入探讨JavaScript库Dojo的专业书籍,虽然书中所用的Dojo版本较低(1.5...通过阅读这本书,你不仅可以了解到Dojo的全貌,还能提升对Web开发整体的理解,为你的JavaScript开发技能添砖加瓦。

    Dojo JS框架最新版

    首先,让我们深入了解Dojo的核心特性。Dojo的核心之一是它的模块系统,即AMD(Asynchronous Module Definition)模式。这种模块加载机制允许开发者按需加载依赖,减少了初始页面加载时的负担,提高了页面加载速度。...

    dojo1.8.chm+dojo1.11中文入门pdf

    Dojo 是一个强大的JavaScript工具...通过这两份文档,开发者可以全面了解Dojo的特性和用法,从而在实际开发中充分利用其强大功能。无论是初学者还是经验丰富的开发者,都应该深入研究这些材料,提升自己的Web开发技能。

    dojo 1.9 demo

    在这个"dojo 1.9 demo"中,我们可以看到各种功能的实例,帮助我们更好地理解Dojo的核心特性和使用方法。 1. **模块化系统**:Dojo 1.9采用了AMD(Asynchronous Module Definition)模块化加载机制,这使得代码组织...

    DOJO 学习文档+Demo

    例如,`dojo/data/ItemFileReadStore` 和 `dojo/data/ItemFileWriteStore` 分别用于读取和写入数据。 ### 4. DOJO XHR(Ajax)和 JSONP 支持 DOJO 提供了 `dojo/xhr*` 模块进行 AJAX 请求,如 `dojo/xhrGet` 和 `...

    Dojo构建Ajax应用程序源码(包括书中用到的dojo-release-1.1.2)

    Dojo 是一个强大的JavaScript工具库,专为构建复杂的Web应用程序而设计。这个压缩包包含了Dojo框架的一个早期版本——dojo-...同时,对于想要深入了解Ajax开发或者JavaScript库构建的人来说,这是一个很好的学习资源。

    DOJO源代码

    这个压缩包包含了 Dojo 的源代码及其示例,是深入理解 Dojo 工作原理和实践应用的好材料。 ### 1. Dojo 模块系统 Dojo 提供了一个强大的模块系统(AMD - Asynchronous Module Definition),使得开发者可以按需...

Global site tag (gtag.js) - Google Analytics