检查GWT Elemental2叠加层中方法或属性的可用性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查GWT Elemental2叠加层中方法或属性的可用性相关的知识,希望对你有一定的参考价值。

尽管可以在Elemental2覆盖中提供属性或方法,但是如何测试它是否实际在底层JS对象中定义?

DomGlobal类有一个hasOwnProperty()方法似乎做我想要的:

// WORKS
if (DomGlobal.hasOwnProperty("console")) {
    DomGlobal.console.log(object);
}

但是如何检查console对象本身的方法是否存在?我希望能够做到这样的事情:

// DOESN'T WORK
if (DomGlobal.console.hasOwnProperty("warn")) {
    DomGlobal.console.warn(object);
}

它不起作用,因为hasOwnProperty()没有在console叠加中定义。

我应该做什么呢?我是否需要定义自己的叠加层或强制转换为包含该方法的叠加层?

这是正确的吗?

Js.<JsObject>cast(DomGlobal.console).hasOwnProperty("warn")

看起来有点满口。是否有标准实用程序更简洁地执行此操作,还是我必须自己编写?

答案

我在Elemental2的老closed issue中发现了这个答案:

Js.asPropertyMap(object).has("key");

以上是关于检查GWT Elemental2叠加层中方法或属性的可用性的主要内容,如果未能解决你的问题,请参考以下文章

避免在谷歌地图叠加层中重叠

如何自定义相机视图并捕获叠加层中的部分?

如何检查一个事件是否可以从GWT代码中取消?

Google Maps API 3. 叠加层中的文本选择

如何将内容加载到类似灯箱的叠加层中

ArcGIS加权怎么确定权重