GWTアプリでインクリメンタルDOMライブラリを使いたいと思います。@JsInteropを使ってGWTアプリでインクリメンタルDOMライブラリのJSパッチ関数を公開する方法
https://google.github.io/incremental-dom/#about
私はJavaの世界から来ていますように、私は、JavaScriptの名前空間とモジュールの概念に苦労しています。私はClosure CompilerをインクリメンタルDOMのクロージャー版で使用することができました(ソースからビルドする必要があります)。
それは次の行で始まります:
var patch = goog.require('incrementaldom').patch;
をそして
patch
機能がスコープで利用できるようになります:私は定期的にJSでそれを使用していたのであれば、私のように入力し
goog.module('incrementaldom');
私のコードの。しかし、@JsInterop
注釈付きクラスからアクセスできるようにするにはどうすればよいですか?
私のような何か試してみました:
public class IncrementalDom {
@JsMethod(namespace = "incrementaldom", name = "patch")
public static native void patch(Element element, Patcher patcher);
@JsFunction
@FunctionalInterface
public interface Patcher {
void apply();
}
}
をしかし、それは動作しません。私は、実行時にこのエラーが表示されます。
(TypeError) : Cannot read property 'patch' of undefined
だから、私は何とかincrementaldom
モジュールまたは少なくともだけpatch
方法を公開しなければならないと思います。しかし、私はどのように知りません。