2016-12-02 8 views
0

にリバインドすることはできません。 2.8安定版に、私はコンパイル中にこのエラーを取得し始めている。 MyClassJSOは単純なJSOクラス(JavaScriptObjectを拡張)なので、どこに問題があるのか​​本当に分かりません。GWT [エラー] GWT 2.6からアップグレードした後、結果 'com.viktor.MyClassJSO'をJSO

このエラーはどういう意味ですか。

ログレベルをより冗長に変更できましたが、詳細情報は表示されません。

すべての回答ありがとうございます。

+0

このエラーは、Javaで 'new'を使用してJSOを作成する場合にトリガすることができます。 GWT 2.6にはバグがありましたが、これは可能でしたが、2.7以降はこのエラーが発生しています。 –

+0

[JsInterop](https://docs.google.com/document/d/10fmlEYIHcyead_4R1S5wKGs1t2I7Fnp_PaNaa7XTEk0/)についてお読みください。 GWT 2.8では、JavaScriptとやりとりするための好ましい方法です。 – Adam

+0

私はGWT.createを使用しています。 失敗した呼び出し: 'someMethodCall((MyClassJSO)GWT.create(MyClassJSO.class));' – NullpointerExceptionBuster

答えて

2

GWT.create(...)でJSOを作成することはできません(JSOタイプを生成することもできません)。唯一の方法は、JSNIでインスタンスを作成することです。

オブジェクトの種類に応じて、JavaScriptObject.createObject()を使用するか、JavaScriptでオブジェクトの作成を管理する静的ファクトリメソッドが必要です。

MyClassJSO jso = (MyClassJSO) JavaScriptObject.createObject(); 

または

MyClassJSO jso = JavaScriptObject.createObject().cast(); 

または

MyClassJSO jso = MyClassJSO.createInstance(); 

public static native MyClassJSO createInstance() /*-{ 
    return new MyObjectFromJavaScript;//or whatever you need to do 
    //in JS to create the object 
}-*/; 
関連する問題