2011-08-23 200 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。

相关问题