我想在我的GWT应用程序中使用增量DOM库。如何使用@JsInterop暴露GWT应用程序中的增量DOM库的JS补丁功能
https://google.github.io/incremental-dom/#about
当我从Java世界来了,我用JavaScript命名空间和模块的概念上的挣扎。我能够使用Closure Compiler和闭包版本的增量DOM(必须从源代码构建)。
它从下面一行:
goog.module('incrementaldom');
所以,如果我使用它在普通JS我会键入:
var patch = goog.require('incrementaldom').patch;
然后是patch
功能将在范围内都有效我的代码。但是如何使它从@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
方法。但我不知道如何。