2010-07-28 19 views

cevap

21

Evet, öyle:

private static native void doThingWithCallback() /*-{ 
    var self = this; 
    var callbackFn = $entry(function(val) { 
    [email protected](Ljava/lang/String;)(val); 
    }); 
    $wnd.someApiThatTakesACallback(callbackFn); 
}-*/; 

İki şey hatırlamak:

  1. $entry() ayıklayıcısını kullanırken kod izlemek için GWT hatırlatır.
  2. var self = this işlevi içinde this referans tutar - Aksi this işlevi kendisi olacak ... Sen olması gerekiyordu
+4

:: yöntem adından önce. Öz @ com.your.package. Aclass :: aMethod (Ljava/lang/dizesi) (val); – AmanicA

+0

bu bir javascript yöntemi mi yoksa bir java yöntemi mi? javascript 'özel statik' değil ve java 'var' yok. –

+1

@ClickBu, size GWT Java kodunda yerel JS yazmanıza izin veren bir GWT yerel yöntemidir. –