2009-09-21 1 views
0

Я создаю обертку GWT вокруг библиотеки JavaScript. Одна из функций JavaScript занимает анонимный объект в качестве аргумента т.д .:Как передать анонимный объект JavaScript из Java в JavaScript в GWT?

obj.buildTabs({ hide: true, placeholder: 'placeholder' }); 

На стороне Java как создать этот тип объекта JavaScript и передать его в мой родной реализации?

В настоящее время на стороне Java у меня есть:

public void buildTabs(TabConfiguration config) { 
    // ? 
} 

private native void buildTabs(?) /*-{ 
     $wnd.NAMESPACE.lib.buildTabs(?); 
}-*/; 

Все указатели оценили, спасибо.

ответ

2

, если вы точно знаете, что следует использовать параметры, вы можете выполнить следующие действия (удалить дополнительные новые линии после того, как: :)

private native void buildTabs(TabConfiguration config) /*-{ 
     $wnd.NAMESPACE.lib.buildTabs({hide: 
       [email protected]:: 
       getHide()(), 
       placeholder: 
       [email protected]:: 
       getPlaceholder()()}); 
}-*/; 

небольшой клип из GWT documentation:

public native void bar(JSNIExample x, String s) /*-{ 
    // Call instance method instanceFoo() on this 
    [email protected]::instanceFoo(Ljava/lang/String;)(s); 

    // Call instance method instanceFoo() on x 
    [email protected]::instanceFoo(Ljava/lang/String;)(s); 

    // Call static method staticFoo() 
    @com.google.gwt.examples.JSNIExample::staticFoo(Ljava/lang/String;)(s); 

    // Read instance field on this 
    var val = [email protected]::myInstanceField; 

    // Write instance field on x 
    [email protected]::myInstanceField = val + " and stuff"; 

    // Read static field (no qualifier) 
    @com.google.gwt.examples.JSNIExample::myStaticField = val + " and stuff"; 
    }-*/; 
Смежные вопросы