为什么GWT wrap()方法不必要地迭代整个DOM?

时间:2009-07-18 00:18:38

标签: java html dom gwt

我正在使用自定义GWT组件,该组件环绕HTML页面中的现有文本框。

该页面返回一个信息列表 - 因此,当加载更大的信息集时 - GWT加载过程需要更长时间。

查看wrap()方法的源代码 - 看起来它遍历DOM,寻找匹配的id。

这不是不必要的吗?有没有办法让它只是迭代到我的组件然后停止?

1 个答案:

答案 0 :(得分:3)

GWT做了一堆DOM托管,而你根本不会轻易绕过它或者根本没有。

听起来有一个点,你有这么多的文字输入,你需要重新思考你是如何接近这个。在GWT中的表单面板中动态创建输入字段非常简单快捷,您可以非常简单快速地下载json结构,其中包含原始html页面加载中输入字段所需的数据,将其转换为字典或简单GWT中的数组,用它来填充表单。

完成后,您可以清除指向数据的指针,以便在您不再需要数据时进行GC。

要在javascript中访问数据,请查看创建本机方法,这很容易做到。如果有意义,您可以将json数据格式化为字典,GWT的字典类将直接映射到它。

我一直使用这些技术,它们非常强大,而且几乎和javascript一样快,可以填充DOM。