2016-07-27 99 views
2

我是GWT的新手,試圖創建一個小應用程序。我目前正在爲應用程序,通用佈局處理程序等組裝一個小型框架。這可能不是我遇到的最後一個問題,但我在Google上找不到任何解決方案。

所以我有一個類的類型,它返回我Composites。另外,我還有另外一個,它將這些類存儲在Stack中(我也嘗試過Vector,我想GWT可能會遇到問題)。這沒關係。如果我在棧上調用.clear方法,我在Chrome的檢查菜單中有上述錯誤: 未捕獲TypeError:無法讀取undefined屬性'clear_31_g $'

如果GWT不知道如何轉換這種方法JavaScript或什麼?你知道這裏有什麼問題嗎?

日食霓虹燈上的Java SDK 1.8的Java 7的設置(也許這?),GWT 2.7.0和App Engine的34年9月1日

謝謝!

edit1:我還發現了包含所有支持方法的模擬JRE類列表(http://www.gwtproject.org/doc/latest/RefJreEmulation.html)的頁面。現在我明白了,這個清單並不在Stack的清單上,但清空並且給了我同樣的錯誤。 : -/

+3

你可以在'null'上調用'clear'方法。 – Adam

+0

啊,jeez,就是這樣。即使這個錯誤信息是有描述性的,但我無法看透它。謝謝! p.s.也許你應該把它寫入答卷,我可以推動接受它。 – newhouse

+0

好的,我發佈了一個答案。我希望它也能幫助別人。 – Adam

回答

2

此錯誤僅表示您嘗試調用方法的對象(對象爲undefined)。

錯誤信息本身並不盡如人意。首先,它並不總是關於閱讀一個屬性,而是關於調用一個方法。其次,請記住,您運行的是已編譯的JavaScript代碼,並且屬性(或方法)的名稱可能與原始的名稱不同 - 它在運行時添加了類似_31_g$的內容。

+0

「首先,它並不總是關於讀屬性,而是關於調用方法」 - 所以如果我正在調用給定類的JavaSE中的方法,但它不受JRE仿真支持(http:// www.gwtproject.org/doc/latest/RefJreEmulation.html),那麼我會得到相同的錯誤? 並感謝您的幫助,那就是問題所在。 – newhouse

+0

我很高興我可以幫助:)而我的意思是說,錯誤消息可以區分這兩種情況,並且'不能調用未定義的方法...'或'無法讀取屬性...的未定義'。 如果您調用JRE仿真不支持的方法,您將會得到類似下面的錯誤:「對於System類型錯誤,未定義lineSeparator()方法。 如果您使用的類不在JRE模擬中,您會得到'沒有源代碼可用於類型...錯誤(例如java.awt.Color類)。 – Adam

相關問題