概述
- 有一个 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,但我无法使用该信息使其工作。