概述
- 有一个 GWT 方法称为:
private void handleError()
- 有一个 JSNI Javascript 函数称为:
private native void registerErrorHandler()
- 本机 javascript 函数从第三方 Javascript 库调用另一个函数:
foo.attachEvent("EventName", handlerReference);
功能性
我需要将 GWT 方法作为函数参数传递给foo.attachEvent()
函数,我尝试了几种方法:
foo.attachEvent("Error", registerErrorHandler);
-> 类型不匹配异常
foo.attachEvent("Error", this.@package.foo::registerErrorHandler());
-> 类型不匹配异常
var handler = this.@package.foo::registerErrorHandler()();
foo.attachEvent("Error", handler);
-> 类型不匹配异常
纯Javascript
当我用纯 Javascript 编写它时,它正在工作:
function handleError() {
alert("Error");
}
function registerErrorHandler() {
var event = "Error";
var handler = handleError;
foo.attachEvent (event, handler);
}
我怎样才能将它实现到 GWT 中?我在完全理解 Javascript - Java Objects 转换时遇到了很多问题。我将handleError
函数引用理解为JavaScriptObject
,但我无法使用该信息使其工作。