问题标签 [gwt-jsinterop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gwt - GWT 2.8.1 JsInterop 不工作
我是 GWT 的新手,我正在尝试使用 JsInterop 实现示例程序,但它不起作用。
------------------------------------JAVA代码------------ ------------------- 我怎样才能让简单的实现工作?有什么我想念的吗?
我在 java 代码
Window.alert("HIII");中给出了两个警告语句 静态方法();Window.alert("HELLOOOOOOO"); 在警报语句之间我在 javaScritp 中调用 API astaticMethod() :-
带有警报语句但 javascript 警报语句未执行根据我的要求,我试图在 javaScript 中调用 java 对象。
javascript - GWT JsType 数组转换
当我有 JSON 对象时:
然后我有这样的 JsInterop 包装器:
和:
当我在代码中的某个地方尝试访问数据时,当我尝试访问 Property 对象的属性时它会失败。
例如:
或者,如果我创建资产和属性类(isNative=true):
我检查了,如果我在尝试获取名称或 id 时编译应用程序,代码将编译为:
或者如果(isNative=true):
首先我认为这是因为我实现了数组的包装器,但是我发现了“jsinterop.base.JsArrayLike”,所以我认为这可以解决我的问题,但错误仍然存在。我错过了什么吗?我真的很想使用 JsInterop 而不是 JSNI 方法和 Overlay 类型,但我无法通过这些数组。
javascript - 无法通过 GWT 中的 JsInterop 将 Java 类导出到 JavaScript
我正在关注 GWT 文档Coding Basics - JavaScript: JsInterop以通过 annotation 将 Java 类导出到 JavaScript @JsMethod
。但是,Java 类并未转译为 JavaScript。
这是我的Java类:
我的项目是通过 GWT Maven 插件 2.8.2 在 Maven 中构建的:
当我在浏览器的控制台中调用导出的方法时。然后方法没有定义:
VM59:1 Uncaught ReferenceError: io is not defined at :1:1
gwt - Gwt elemental2:如何在 gwt JavaScript 对象和 JsInterop 对象之间进行转换?
假设我有一个com.google.gwt.dom.client.Document gwtDocument
节点,我想将其转换为elemental2.dom.Document
?
由于 Document 扩展了 JavaScriptObject,我认为我可以执行以下操作:
但是,使用 jsinterop 的 elemental2 类不扩展 JavaScriptObject。那么如何在两者之间进行转换呢?
谢谢!
java - 如何在 GWT 中使用 XMLHttpRequest?
XMLHttpRequest 是来自 GWT 客户端的 HTTP 调用的替代方案,并允许控制请求/响应的所有方面。但是如何使用呢?javadoc地址: http: //www.gwtproject.org/javadoc/latest/com/google/gwt/xhr/client/class-use/XMLHttpRequest.html
java - 如何为@JsProperty 设置默认值?
我正在为Mapbox-gl-js的源对象构建一个 Jsinteropted 包装器。
我有一个抽象类Source
,它嵌入了默认方法,例如获取/设置源的类型。
而且我有一些必须(根据 Mapbbox 文档)定义type
属性的继承类!所以我想做类似的事情:
或者
但两者都被 GWT 编译器禁止。
现在我使用一个创建 GeoJsonSource 然后放置正确type
属性的工厂,但我想知道是否有 Jsinteropt 方法可以做到这一点?
gwt - Checking availability of a method or property in GWT Elemental2 overlays
Although a property or method may be provided in an Elemental2 overlay, how can you test whether it is actually defined in the underlying JS object?
The DomGlobal
class has a hasOwnProperty()
method that seems to do what I want:
But how do I check for the existence of methods on the console
object itself? I'd like to be able to do something like this:
It doesn't work because hasOwnProperty()
isn't defined in the console
overlay.
What am I supposed to do instead? Do I need to define my own overlay or cast to an overlay that includes the method?
Is this right?
It seems a bit of a mouthful. Are there standard utilities for doing this more succinctly or do I have to write my own?
java - 如何将对象转换为 JsType?
为了操作符合 [GeoJson][1] 的数据,我声明了以下 JsType:
有时我需要将我的FeatureCollection
对象传递给通过属性访问数据的外部库(例如 Turfs.js 以执行单位转换)features
。该库返回给我一个具有相同属性的新对象(它们像我的 JsType 一样遵循 GeoJson RFC),但我无法将其转换回FeatureCollection
:
Turf 库是 JsInteroped:
当使我的 FeatureCollection 成为本机 JsType 时,它可以工作但阻止我使用我当前的构造函数,所以我正在寻找一种方法将 javascript 对象强制转换为我的 JsType。[1]:https ://www.rfc-editor.org/rfc/rfc7946
gwt - GWT com.google.gwt.json.client.* JSON 类不支持 jsinterop?
当我尝试编译和运行代码时
我收到控制台消息如下 -
[警告] 一些过时的类型([com.mycompany.gwtjs.client.AjaxForm$1, com.mycompany.gwtjs.client.AjaxForm$1$1, com.mycompany.gwtjs.client.AjaxForm])没有按预期重新处理。这要么是编译器错误,要么是生成器已合法地停止创建这些类型。
链接http://www.gwtproject.org/javadoc/latest/index.html有包含我使用的类的包。
请问有人有想法解决这个问题吗?
谢谢。
gradle - 如何通过 LibGDX (Gradle) 导入和使用 JsInterop?
我不知道如何在 LibGDX 项目中导入和使用JsInterop。
我在 html 中的 GWT 版本build.gradle
是正确的:
在项目中build.gradle
:
我仍然无法编译,我收到错误:
我已经阅读了有关该generateJsInteropExports
标志的信息,我尝试将其放在不同的地方(可能是错误的地方?),也没有用。
我错过了什么吗?