GWT中的JSNI动态函数引用 [英] JSNI dynamic function reference in GWT
问题描述
我想从gwt调用任意的js函数。函数名称将在函数名变量内。例如:
pre $私有静态本地字符串执行字符串函数名,JavaScriptObject数据/ * - {
return $ wnd.functionName(数据);
} - * /;
我假设可能有这样的事情,但是如何创建fn变量来表示我的任意函数名函数。
pre $ private static native String执行(JavaScriptObject fn,JavaScriptObject数据)/ * - {
return fn(data );
} - * /;
如果您需要通过名称调用函数,则需要这样做:
pre $
private static native String execute(String functionName,JavaScriptObject data)/ * - {
$ WND [functionName](数据);
} - * /;
要获得对函数的引用,您需要像这样使用JSNI:
private static native JavaScriptObject getFunction(String functionName)/ * - {
return $ wnd [functionName];
} - * /;
I would like to call arbitrary js function from gwt. Function name would be inside functionname variable. Something like this:
private static native String execute(String functionName, JavaScriptObject data) /*-{
return $wnd.functionName(data);
}-*/;
I assume that something like this could be possible, but how to create fn variable to represent my arbitrary functionname function.
private static native String execute(JavaScriptObject fn, JavaScriptObject data) /*-{
return fn(data);
}-*/;
If you need to invoke function by name, you need to do something like this:
private static native String execute(String functionName,JavaScriptObject data)/*-{
$wnd[functionName](data);
}-*/;
To get reference to a function you will need to use JSNI like this:
private static native JavaScriptObject getFunction(String functionName)/*-{
return $wnd[functionName];
}-*/;
这篇关于GWT中的JSNI动态函数引用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!