【发布时间】:2016-01-09 20:35:41
【问题描述】:
我正在使用 GWT 和 d3 开发一个项目。我在 javascript 文件中使用了 d3。让我再解释一下。我在 GWT 中有一个类名 AstForm。在这个类中,我有一个函数,我使用以下代码在我的 javascript 文件中调用它。它的代码对我来说很好。
public native void PrepareFunctionsForJS() /*-{
$wnd.ExtractOFFNetWork = this.@org.valcri.asstsrchui.client.AstForm::ExtractOFFNetWork(*);
}-*/;
public void ExtractOFFNetWork(JsArrayMixed args)
{
Window.alert("thisCurrent row and Column is " +
args.getString(0) + " " + args.getString(1)+"OffenderNetwork?");
}
void testfunction ()
{
Window.alert("testfunction)
}
在java脚本中我使用了以下代码
window.ExtractOFFNetWork(["GWT","JS"]);
我的代码运行良好。我可以在 javascript 文件中调用 ExtractOFFNetWork。但是,当我调用 testfunction 时,问题出在 ExtractOFFNetWork 函数中,该函数也是 ASTFORM 类的成员函数,程序错误说 testfunction 不是函数。但是,当我将 testfunction 更改为静态时,我可以在 ExtractOFFNetWork 中访问此函数。另外,我也可以通过创建一个单独的 ASTForm 对象来使用 ExtractOFFNetWork 中的 testfunction
AstForm my =new AstForm();
my.testfunction();
但是我不想使用静态或单独的 ASTform 对象来访问 ASTForm 的成员函数。我还在 ExtractOFFNetWork 中使用了 this.testfunction() 但它也不起作用。如果有任何机构可以帮助解决我一整天都没有成功的问题,我将不胜感激:)
【问题讨论】:
标签: javascript gwt static this jsni