GWT 自动生成 JavaScript 代码。
我无法理解生成的代码事件机制。例如,当我单击按钮时会运行哪个功能?
我很想看到 GWT 为按钮生成的带有解释的 javascript
对于事件处理,GWT 附加一个EventListener(通常是您的小部件)作为元素的扩展属性(称为__listener)。然后,这些事件都由一个调度方法处理,该方法查看__listener事件目标的扩展并将事件分派给它。当然,dispatch 方法做得更多(事件预览、入口/最终调度的命令等)
这种舞蹈是(或至少是)避免浏览器(主要是 IE)中的内存泄漏所必需的。您可以在 GWT wiki 中找到更多详细信息:https ://code.google.com/p/google-web-toolkit/wiki/DomEventsAndMemoryLeaks
当您编译代码时,Compiler将生成自动生成的Javascript函数......而且这也是压缩的(这取决于您的编译类型)。
很难找到相应的函数和小部件 id,因为它们是generated由compiler ..所以最好调试你的gwt代码是托管模式 ..
即使您想在编译时阅读生成的代码,也可以将编译类型设置为
DETAILED,它改进了PRETTY更多细节(例如非常冗长的变量名)
更多细节可在此处获得。
当您使用 GWT 进行开发时,您并不关心 JavaScript。
您应该查看Java代码,并搜索处理按钮单击事件的函数。
STYLE当您需要了解 GWT 的输出 js 时,您应该使用 GWT 编译器选项。GWT 默认压缩和混淆 javascript 输出,因为它使用OBF作为 STYLE 的默认值。
为了防止压缩和混淆,您可以使用PRETTY或DETAILED作为 STYLE 参数的参数。
注意:您应该始终使用 OBF 模式进行生产,因为它可以确保最小的带宽使用以及混淆。
