假设我有一堆代码,我只需要在应用程序加载时使用一次。例如,从服务器加载初始数据。如何删除此代码?我的意思不仅仅是删除Java对象,而是从它生成JavaScript代码。 hugeHandler = null
足够吗?
它与GWT.runAsync()
相反,但“在不需要时删除”而不是“在需要时加载”。
答案 0 :(得分:1)
您可以使用DOM.removeChild(Element parent, Element child)
从中删除脚本标记。这将删除javascript,以及任何创建的对象及其引用。
这是困难的部分:
您还应该注意将代码分成两个模块,这样您最终会得到2个生成的javascript文件,这两个文件都包含在标记中。一个模块(第一个模块)执行设置工作,另一个模块执行其余模块(第二个模块)。
我确定你有依赖关系阻止你轻松分成两个模块,但是在第二个模块中使用了一些JSNI本机javascript方法,比如访问第一个模块创建的变量,你可以使用所有在第一个模块中完成设置,并且完全没有硬依赖。
我喜欢GWT不会阻止您编写自己的javascript的方式 - 但请确保在执行此操作时不会失去跨浏览器的兼容性。