我什么时候应该使用GWT小部件(解释)?

时间:2012-06-29 17:11:06

标签: gwt optimization widget

我正在做一个GWT应用程序和速度跟踪器说绘画过程需要很长时间,所以阅读:Google 2010 - IO会话(“使用GWT进行性能架构”)的pdf,这句话出现:

  

我应该何时使用小工具?
  当组件必须接收事件时和   无法捕获父窗口小部件中的事件

我同意第一个条件(我想使用小部件,因为我的组件,如textBox或图像必须接收事件,如MouseOver,MouseClick ...)但我的问题涉及第二个条件。事实上,我不明白在这种情况下应该有没办法来捕捉父窗口小部件中的事件,因为它(“总是”)可以访问任何元素/组件用Javascript操纵DOM。在这里,我假设使用Javascript我可以访问Widgets(用ui:field标识,例如在ui:binder中)元素和DOM元素(用id =“”标识)。

那么你能告诉我为什么我错了,或者在“没有办法捕捉父小部件中的事件”时给我一个例子吗?

谢谢你,

1 个答案:

答案 0 :(得分:1)

更多的是“没有 easy 方式来放置会在父窗口小部件中捕获事件的代码”。所有这些都与组件化有关:您不希望将事件处理代码放在组件之外,并且您不希望将事件处理代码附加到组件外部的元素。所以组件仍然是小部件,但在它们内部尝试尽可能地使用HTML和事件冒泡。

在实践中,这意味着在复合内部使用HTMLPanel(或RenderablePanel来获得更好的性能,如果你使用2.5.0 RC1并且你有点冒险,那么使用{{1} }(使用UiRenderer可以轻松处理从特定子元素冒泡的事件)