首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT JsInterop本机类问题

问GWT JsInterop本机类问题
EN

Stack Overflow用户
提问于 2016-05-26 22:52:53
回答 1查看 934关注 0票数 1

在结束一些javascript代码时,我遇到了一个JsInterop问题。

JavaScript就像

代码语言:javascript
复制
com = { gwidgets: {} };
com.gwidgets.Spring = function () {
        this.name = "hello";    
};

com.gwidgets.Spring.prototype.getName = function () {return "test";
};

JsInterop类是:

代码语言:javascript
复制
package com.gwidgets.leaflet;

import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsType;

@JsType(isNative=true)
public class Spring {

    @JsMethod
    public native String getName();
}

但是,当我实例化类并尝试调用getName()方法时,会得到一个错误:

树叶-0.js:1183隐TypeError: spring.getName不是函数

有什么想法吗?我的代码有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-27 17:58:43

根据您拥有的javascript,一种解决方案可以是在注释中添加命名空间。

代码语言:javascript
复制
import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsType;

@JsType(isNative=true, namespace = "com.gwidgets")
public class Spring {

    @JsMethod
    public native String getName();
}

或者将java类Spring移动到包com.gwidgets (与javascript相同)

或更改javascript的命名空间以匹配类Spring中的包

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37472310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档