GWT - 如何在另一个 JavaScript 函数中调用一个 JavaScript 函数

GWT - How to call a JavaScript function inside another JavaScript function

我有一个带有两个 JSNI JavaScript 函数的 GWT class。我想在另一个函数中调用一个函数,如下所示:

public class MyClass
{
  public native void Function1()
  /*-{
    console.log("Function 1");
  }-*/;

  public native void Function2()
  /*-{
    Function1();
  }-*/;
}

在这种情况下,当执行 Function2 我得到 "Function1 is not defined".

请记住,我不想在 Function2 代码中嵌入 Function1,我需要两个不同的 JSNI 函数(因此我可以从多个函数调用 Function1)。

谢谢。

也将这两种方法更改为static
您可以像这样简单地从您的 jsni 代码中调用任何方法:

public class MyClass
{
  public static native void Function1()
  /*-{
    console.log("Function 1");
  }-*/;

  public static native void Function2()
  /*-{
    @xxx.xxxxx.xxxx.MyClass::Function1();
  }-*/;
}

可以找到更多信息 here

package mypackage;  

public class Account {
    private int balance = 0;

 public int add(int amt) {
      balance += amt;
   }

public native void exportAdd() /*-{
    var that = this;
    that.@mypackage.Account::add(I)(10);
}-*/;
}