0

他的,

我尽可能使用 UiBinder 来提高应用程序的性能。但是,据我了解,当相应的模板包含丢失的静态信息时,UiBinder 处于最佳状态。

就我而言,移动应用程序的大部分屏幕区域都包含动态信息。例如,有一个带有按钮的面板,但您事先不知道一次显示多少个按钮。这就是为什么我在拥有的 UiBinder 类中使用 HTMLPanel.add(Widget wgt, String id) 或 FlowPanel.add() 方法的原因。这不是减少了 UiBinder 的使用和调用 setInnerHTML() 的能力,而不是通过 DOM 操作创建元素,因为这些 add() 方法只接受小部件而不接受元素?

也许有一个技巧可以允许将 Element 对象而不是 Widget 对象添加到面板,然后他们会充分利用 setInnerHTML?

谢谢

4

1 回答 1

1

在某些情况下(不幸的是,由于 IE,排除了按钮),您可以只添加 DOM 元素和/或使用 innerHTML(在 DOM 元素上,在这种情况下不要使用面板小部件)并在更高级别监听事件(通常是您的UiBinder 所有者小部件),利用事件冒泡。换句话说:使用通常所说的“事件委托”。

于 2010-10-22T22:20:07.703 回答