我正在包装JS库,一个方法将类/原型作为参数。即:
installPlugin(Prototype)
此方法的包装JSNI函数如何显示?
public final void native installPlugin(Class<?> clazz) /*-{
this.installPlugin(clazz);
}-*/;
这不正确,但与我想要达到的目标不同。
答案 0 :(得分:2)
这是不可能的。在GWT中,对象知道它们的类(由getClass()
返回)但Class
实例没有对允许创建该类实例的构造函数/原型的引用。
如果您可以传递该类的实例,则应该只能使用obj.prototype
。但它在DevMode中不起作用,其中Java对象在传递给JSNI时是不透明句柄。
答案 1 :(得分:0)
您的原型应该具有.toJs()方法,该方法将其转换为JavaScriptObject类型。传递它而不是Java Prototype。