Итак, мы пытаемся использовать JsInterop, чтобы в нашем приложении GWT мы могли использовать некоторые модули, созданные извне в JavaScript.
У нас есть интерфейс с контрактом, некоторые методы должны быть реализуется всеми видами.
Например:
package com.foo;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsType;
@JsType(namespace = JsPackage.GLOBAL)
public interface MyView {
void doSomething();
void doSomethingElse();
Element getElement();
}
Теперь представьте, что со стороны JS у нас есть реализация этого интерфейса:
export class MyViewImplementation extends window.$wnd.MyView {
constructor() {
super();
}
doSometing() {
//Implementation goes here
}
doSomethingElse() {
//Implementation goes here
}
getElement() {
var div = document.createElement("div");
div.textContent = "External Component Test";
return div;
}
}
Может ли это работать? В настоящее время у меня есть ошибка, которая говорит: класс расширяет значение undefined не является конструктором или нуль