0
JsInteropの問題を抱えていますが、いくつかのJavaScriptコードをラップしています。GWT JsInteropネイティブクラスの問題
JavaScriptがJsInteropクラスがある
com = { gwidgets: {} };
com.gwidgets.Spring = function() {
this.name = "hello";
};
com.gwidgets.Spring.prototype.getName = function() {return "test";
};
のようなものです。しかし
package com.gwidgets.leaflet;
import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsType;
@JsType(isNative=true)
public class Spring {
@JsMethod
public native String getName();
}
、私はクラスをインスタンス化し、getName()
メソッドを呼び出すしようとすると、私はエラーを取得:
leafletwrapper-0.js:1183 Uncaught TypeError: spring.getName is not a function
私のコードに間違いがありますか?
お返事ありがとうございます。それは今働く。私は名前空間を削除し、namespace = JsPackage.Globalを使用しました。また、JSinteropの問題を引き起こすような2.8ベータの代わりにGWT 2.8 VC-Snapshotを使用しました。 –
名前空間を保持する方がコードが別のjavascriptライブラリと共存する。他の誰かがSpringを使用して、後で読み込まれた場合に参照を書き換えることができます。 (私はこの方法は単なるテストであると理解しています) – klaun