我有一个奇怪的错误,我无法做出正面或反面。错误的片段如下:
(TypeError): $wnd.EGeoXml is not a constructor stack: $jsInit([object Object],[object Object],null)
实际的代码行在GWT中,如下所示:
private native void jsInit(JavaScriptObject map, String kmlFile) /*-{
var exml = new $wnd.EGeoXml("exml", map, kmlFile, {});
this.@com.example.client.EGeoXmlJava::ready(Lcom/google/gwt/core/client/JavaScriptObject;)(exml);
}-*/;
这段代码在作为自己的GWT项目运行时实际上有效,但在使用Vaadin的代码时,我得到构造函数堆栈错误。我很肯定构造函数存在。我不明白为什么GWT认为它不是构造函数?提前谢谢。
答案 0 :(得分:0)
您将其称为 new $ wnd.EGeoXml()。 $ wnd部分对我来说有点奇怪。有必要吗?
无论如何,如果仅在Vaadin项目中出现问题,您可能需要检查代码是否位于正确的包中。请记住,GWT希望代码位于名为.client的包中。 Vaadin的服务器端类可以在任何地方。