Я пытаюсь использовать JSInterop от GWT. У меня очень простой виджет, который я хочу экспортировать в javascript, который обернут простым классом. Вот обертка:
@JsType
public class EffortApp {
private EffortTable effortTable;
public EffortApp() {
effortTable = new EffortTable();
RootPanel.get().add(effortTable);
}
public EffortApp setModel(Object model) {
effortTable.refresh(model);
return this;
}
}
Виджет ничего особенного:
public class EffortTable implements IsWidget {
private VerticalPanel basePanel;
@Override
public Widget asWidget() {
basePanel = new VerticalPanel();
return basePanel;
}
@SuppressWarnings("unchecked")
public void refresh(Object model) {
//populate the widget with the data in model
...
}
}
Когда код выполняется, я получаю эту ошибку:
EffortApp.java:12 Uncaught TypeError: this.$init_931_g$ is not a function
at Object.$Ld_g$ [as EffortApp] (EffortApp.java:12)
Другое java код экспортируется правильно. Что не так с EffortApp
? Вы можете посмотреть весь материал здесь , вам нужно указать gwtjs2.html
, чтобы загрузить веб-компонент, он инкапсулирует кнопку, которая запускает выполнение экспортированного кода (пока, но это другая история ).