深入了解Dojo Data

2021-05-23 12:56:44 字數 1373 閱讀 1135

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

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

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

資料以json的方式表示:

下一步,我們用乙個服務函式和乙個目標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 Data

譯自 使用dojo data有助於快速建立web應用的介面,且易於嵌入各種資料來源。它在使用者介面與底層資料之間提供了一層抽象層,使得使用者介面開發人員能夠專注於ui的開發,而無需擔心資料庫 伺服器 或者資料格式的唯一性。在接下來的例子裡,我們將用乙個jsonreststore為datagrid提供...

深入了解A

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

深入了解A

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