1

GWT 自动生成 JavaScript 代码。

我无法理解生成的代码事件机制。例如,当我单击按钮时会运行哪个功能?

我很想看到 GWT 为按钮生成的带有解释的 javascript

4

4 回答 4

1

对于事件处理,GWT 附加一个EventListener(通常是您的小部件)作为元素的扩展属性(称为__listener)。然后,这些事件都由一个调度方法处理,该方法查看__listener事件目标的扩展并将事件分派给它。当然,dispatch 方法做得更多(事件预览、入口/最终调度的命令等)

这种舞蹈是(或至少是)避免浏览器(主要是 IE)中的内存泄漏所必需的。您可以在 GWT wiki 中找到更多详细信息:https ://code.google.com/p/google-web-toolkit/wiki/DomEventsAndMemoryLeaks

于 2013-02-08T09:49:15.080 回答
0

当您编译代码时,Compiler将生成自动生成的Javascript函数......而且这也是压缩的(这取决于您的编译类型)。

很难找到相应的函数和小部件 id,因为它们是generatedcompiler ..所以最好调试你的gwt代码是托管模式 ..

即使您想在编译时阅读生成的代码,也可以将编译类型设置为

DETAILED,它改进了PRETTY更多细节(例如非常冗长的变量名)

更多细节可在此处获得

于 2013-02-08T09:24:59.800 回答
0

当您使用 GWT 进行开发时,您并不关心 JavaScript。

您应该查看Java代码,并搜索处理按钮单击事件的函数。

于 2013-02-08T09:10:49.667 回答
0

STYLE当您需要了解 GWT 的输出 js 时,您应该使用 GWT 编译器选项。GWT 默认压缩和混淆 javascript 输出,因为它使用OBF作为 STYLE 的默认值。

为了防止压缩和混淆,您可以使用PRETTYDETAILED作为 STYLE 参数的参数。

注意:您应该始终使用 OBF 模式进行生产,因为它可以确保最小的带宽使用以及混淆。

参考- https://developers.google.com/web-toolkit/doc/latest/DevGuideCompilingAndDebugging#DevGuideCompilerOptions

在此处输入图像描述

于 2013-02-08T09:37:12.137 回答