深入了解Dojo Data

2021-08-31 01:51:07 字數 1927 閱讀 3271

——譯自

使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料庫、伺服器、或者資料格式的唯一性。

在接下來的例子裡,我們將用乙個jsonreststore為datagrid提供資料。然後,我們將用乙個xmlstore替換這個jsonreststore,以顯示ui和資料來源的解耦所帶來的便利。

資料以json的方式表示:

var mockservice = function(query);

下一步,我們用乙個服務函式和乙個目標url來建立jsonreststore。同樣,對於這個例子而言我們將省略"target"引數。這個殘水對於今後開發真正的rest服務非常重要,但現在暫時不需要。

jsonstore = new dojox.data.jsonreststore();

jsonreststore適用於比較大型的資料集。對於這種資料集,你往往不想(或根本不可能)高效地將其完全傳送到客戶端。jsonreststore能夠很好地處理與伺服器端的互動。

最後,我們來宣告乙個dojox.grid.datagrid。我們將用它顯示資料。

name

population

area

同樣的jsonreststore也能夠同時為乙個dijit.form.combobox提供資料:

看,把同乙份資料用於不同的ui小部件就是這麼簡單!

接下來,我們用乙個xmlstore來換下這個jsonreststore,看看轉換資料格式有多簡單。資料檔案如下:

africa

900 million

30,221,532 sq km

asia

1 billion

25,428,192 sq km

oceania

21 million

15,928,294 sq km

europe

56 million

25,928,294 sq km

north america

100 million

90,928,294 sq km

south america

102 million

78,928,294 sq km

antarctica

998102,928,294 sq km

然後,建立xml資料儲存器:

xmlstore = new dojox.data.xmlstore();

xmlstore是乙個客戶端的資料儲存器,用於讀取xml資料來源。它由dojo官方提供幷包含在dojox子專案中。xmlstore為基本的xml資料(一種常用的資料交換格式)提供讀/寫介面。xmlstore可以用於一般的xml文件,因此非常有用。儲存器的設計是你可以通過覆蓋其部分方法來自定義讀/寫資料的行為。

最後,將它交給datagrid。

name

population

area

同時,更新combobox:

我們不需要修改關於grid和combobox的任何**,就能讓它們繼續工作。唯一需要做的改動,就是宣告乙個資料來源,並將它設定為grid的輸入。我們不需要操心任何關於資料獲取、解析、以及管理的事情,資料儲存器的api做了所有的工作!

除此之外還有其他許多有用的資料儲存器,包括csvstore,filestore,flickrstore,jsonqueryreststore,perseverestore,servicestore,wikipediastore,等等。如果需要乙個完整列表,請參見dojox.data目錄

dojo data是乙個強大而靈活的工具。資料儲存器使得切換前端元件和後端實現都變得很容易,不需要改變許多**。因此我們可以為同乙個資料儲存器很方便地更換前端diji部件,另外,同乙個資料儲存器也能由頁面上的多個dijit部件、圖表或grid同時使用。

更多相關資源:

深入了解Dojo Data

譯自http www.sitepen.com blog 2010 10 13 dive into dojo data 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...