gwtQuery的好处

时间:2013-06-06 12:52:10

标签: gwt gwtquery

有人可以告诉我使用gwt查询有什么好处。它只是用于css效果。以及我们如何使用它来创建像gwt这样的ui元素。

我所理解的只是在项目中使用gwt组件,如label,textbox,buton然后gwt查询只是为了给那些组件带来一些效果,是这样的吗?

如果是css效果,那么我们也可以在gwt中做同样的事情,那么为什么我会使用Gwtquery而不是gwt。有人可以帮帮我..

谢谢,

2 个答案:

答案 0 :(得分:3)

GQuery远不止于此。例如,您可以快速轻松地导航到de DOM(例如jQuery)!

看,今天早上我以这种方式使用它:

Element p = DOM.createElement("p");
p.addClassName("KV");
p.setInnerText(newBody);
$(cellList + " #__idx=\""+position+"\" p .KV").replaceWith(p);

如果您查看最后一行,您会看到: 小部件cellList的相关DOM(来自MGWT的CellList),搜索具有标识"__idx"的元素,然后选择元素p,并从中选择具有类{{1}的元素}。

您是否认为普通gwt中的代码?

你可以使用的其他非常有用的东西是Promise模式。 如果B已正确完成,则执行类似A的操作,如果C已正确完成,则执行B.我们在我们的应用程序中使用它进行oAuth身份验证。相信如果你在一行中处理Facebook OAuth,你可以确定一切都很好。

如果您不使用GQuery,则可能需要使用onSuccess和onFailure方法(Spaguetti代码)创建4个回调。

还有更多的事情......

Google和Opensource社区的重要人物也在该项目下,这是一个好兆头。

答案 1 :(得分:3)

认为gwtquery是对GWT的重要补充。它不会取代任何东西,但会让你的生活更轻松。

在其他人之间,这些是gquery添加的GWT中缺少的主要功能。

1- CSS选择器和DOM遍历操作:允许您增强任何GWT小部件。例如,向GWT表中的所有<td>添加图像和css类更简单:

$(".mygwttable td").append("<img src='' />").addClass("whatever");

2-获取DOM中存在的任何窗口小部件实例,作为解耦代码的方法。

TextBox emailBox = $("input[name='email']").widget()

3-轻松操作元素:属性,样式等:

$(".gwt-Label")
  .css($$("background: red, color: white, width: 100%")
  .attr("whatever", true);

4-直观的Ajax,比RequestBuilder简单得多

$(myLabel).load("file.html");

5-助手阅读javascript,更改javascript对象并执行javascript函数而无需编写单行JSNI

Properties history = JsUtils.prop(window, "history");
JsUtils.runJavascriptFunction(history, "pushState", null, null, "whatever.html")

6- Json和XML数据绑定:比自动转发更直观,更简单。

7-承诺,动画等等......

所以,虽然你可以在不使用任何gwt小部件而只使用gwtquery的情况下使用gwt项目,但使用gquery的常规方法是补充GWT,因此使用标准gwt方式开发应用程序,并使用gquery helpers编写更少的代码。

在你的情况下使用普通的gwt小部件,并使用gwtquery来增强它们(样式,渲染dom,事件等的变化),而不必扩展它们来进行更改。