2011-08-23 197 views
5

Dojo數據存儲的所有文檔似乎都指向數據或數據表的數據存儲(例如,在網格中使用)。我可以將表單綁定到Dojo數據存儲嗎?

Dojo數據存儲是否滿足表單數據?您可以將表單或實際上單個輸入字段綁定到Dojo數據存儲嗎?是否有任何有關此示例的文檔?

爲了澄清我的問題:我想從可以用dojo數據存儲實現的雙向更新和驗證中獲益,而不僅僅是從表單中收集所有值。

另外,也許我問的是錯誤的問題。也許一個數據存儲不是我正在尋找的。 Dojo是否提供了模型綁定的其他概念?

回答

3

它看起來像我正在尋找的是在下面的鏈接描述,但目前尚不可用。 (根據此TRAC票證:http://bugs.dojotoolkit.org/ticket/12314,僅在版本1.7中)。

這將構成Dojo的dojox.mvc包的一部分(參見http://svn.dojotoolkit.org/src/dojox/trunk/mvc/README),儘管它可能可以使用,但它仍在開發中,並且對於這一點來說是實驗性的。

http://doughays.dojotoolkit.org/patterns/data_bound_widgets.html

http://chrism.dojotoolkit.org/dojomvc/

2

不,因爲商店對於存儲該類信息沒有意義。

你要做的是在數據存儲中存儲表格數百個。但你不會存儲一個。

如果您需要獲取dojo.form.Form值,則可以在窗體上調用getValues(),然後將其發送到服務器進行持久化。

dijit.byId(「form」)。getValues();

+0

然而,這並沒有解決雙向更新和驗證的需求,您通常會與模型綁定關聯。 – mydoghasworms

+0

另外,也許我問的是錯誤的問題。也許一個數據存儲不是我正在尋找的。Dojo是否提供了模型綁定的其他概念? – mydoghasworms

+0

嗨Laykes,經過四處尋找,並且正在開發中的dojox.mvc上找到一些材料後,我添加了一個答案(和幾個更新!)。謝謝。 – mydoghasworms

0

很好的問題,該模型就像KnockoutJS結合兩路將是很好,如果它的工作原理與國際化功能Dojo框架,也驗證功能。

在KnockoutJS雙向綁定工作是這樣的:

的Javascript:

function AppViewModel() { 
    this.firstName = ko.observable("Bert"); 
    this.lastName = ko.observable("Bertington"); 
} 

//激活knockout.js ko.applyBindings(新AppViewModel());

HTML:

<p>First name: <input data-bind="value: firstName" /></p> 
<p>Last name: <input data-bind="value: lastName" /></p> 

好像淘汰賽使用了觀察者模式的雙向模式結合。它的好,但實際使用它不工作。正如我所說的,國際化功能是必需的。用戶喜歡在自己的文化中輸入數據。 我不使用KnockoutJS。

相關問題