2012-09-25 32 views
2

this documentation page它被勸使用ensureInjected()按次/部件:GWT:可以在onModuleLoad中調用ensureInjected()嗎?

推薦的模式是先調用ensureInjected()在靜態 初始化您的各種構件類型

,但我用例是應用程序中所有視圖中的一個共享.css文件(及其對應的CSSResource)。我真的必須在我所有的觀點中撥打ensureInjected()來獲得這個CSSResource嗎?

另一種方法似乎只是在onModuleLoad()中調用此方法,而不是從單例訪問CSS資源。這是合法的方法嗎?它有什麼缺點嗎?

回答

6

重要的是,ensureInjected()在顯示引用CssResource的任何東西之前至少被調用一次,否則樣式表將不存在,並且沒有樣式可用於匹配類名稱。

所以是的,在onModuleLoad中只能撥打ensureInjected()一次即可。

而且您不必使用單例,給定ClientBundle的所有實例都將共享相同的資源實例(它們將以單例形式生成)。

相關問題