Ошибка при использовании моего экспортированного кода JSInterop Java - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь использовать 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, чтобы загрузить веб-компонент, он инкапсулирует кнопку, которая запускает выполнение экспортированного кода (пока, но это другая история ).

...