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 模式进行生产,因为它可以确保最小的带宽使用以及混淆。