gpt4 book ai didi

javascript - 使用 GWT JsInterop 实现 Javascript 函数回调

转载 作者:行者123 更新时间:2023-11-29 23:44:30 25 4
gpt4 key购买 nike

我想像这样包装一个 javascript 代码:

map.addMarker({
lat: -12.043333,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});

这里是我用 Java 写的:

@JsType(namespace = JsPackage.GLOBAL, isNative = true, name = "Object")
public class MarkerOptions {
@JsProperty
public double lat;

@JsProperty
public double lng;

@JsProperty
public boolean draggable;

@JsProperty
public Polygon fences;

@JsFunction
public interface FunctionOutsideParam {
void outside();
}

@JsProperty
public FunctionOutsideParam outside;
}

但它不起作用。即使你在我的浏览器控制台中没有任何错误。有人知道如何让它为外部回调函数工作吗?谢谢和问候。

最佳答案

我终于找到了解决办法。看来我的 java 代码与我的 javascript 代码不一致。感谢 Colin Alworth 指出不一致的部分。所以这是我的完整代码:

@JsType(namespace = JsPackage.GLOBAL, isNative = true, name = "Object")
public class MarkerOptions {
@JsProperty
public double lat;

@JsProperty
public double lng;

@JsProperty
public boolean draggable;

@JsProperty
public Polygon[] fences;

@JsFunction
public interface FunctionOutsideParam {
void outside(Marker m, Polygon[] f);
}

@JsProperty
public FunctionOutsideParam outside;
}

现在,每当我运行它时,都会正确调用外部函数回调。感谢大家。我希望我的回答可以帮助许多其他试图弄清楚如何使用 GWT JSInterop 实现 js 回调函数的开发人员。

关于javascript - 使用 GWT JsInterop 实现 Javascript 函数回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44499407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com