假设我有一个com.google.gwt.dom.client.Document gwtDocument节点,我想将它转换为一个elemental2.dom.Document
由于文档扩展了JavaScriptObject,所以我认为我可以这样做:
elemental2.dom.Document elementalDoc = (elemental2.dom.Document)(gwtDocument);但是,使用j烧结的elemental2类不扩展JavaScriptObject。那么我该如何在两者之间转换呢?
谢谢!
发布于 2018-03-24 07:02:14
您可以先将其转换为object,然后将其转换为元素类型(1)。这有点难看,所以有一个实用工具库可以在GWT和J2CL中使用,称为J-烧结基。Js实用程序可以用于cast(2)和uncheckedCast(3)任何对象。应该避免使用uncheckedCast,只有当您知道自己在做什么时(例如)。在iframes或其他特殊js情况之间进行转换)。
com.google.gwt.dom.client.Document gwtDocument = Document.get();
elemental2.dom.Document el1 = (elemental2.dom.Document) (Object) gwtDocument; //(1)
elemental2.dom.Document el2 = jsinterop.base.Js.cast(gwtDocument); //(2)
elemental2.dom.Document el3 = jsinterop.base.Js.uncheckedCast(gwtDocument); //(3)因此,在客户端代码中,您应该使用Js.cast将GWT dom实例转换为elemental2实例。
https://stackoverflow.com/questions/49435743
复制相似问题