root devine automat creat în app gwt

Bună

Am scris cod într-una din clasele de punct de intrare ca:

if(RootPanel.get("fb-root") != null)
         form = new BloodDonorForm(Constants.INSERT, null, Constants.FACEBOOK, Constants.BLOOD_DONOR_REGISTER_FORM); 
else
         form = new BloodDonorForm(Constants.INSERT, null, null, Constants.BLOOD_DONOR_REGISTER_FORM);

TBunăs used to work fine sometime back for sure (don't remember when I checked tBunăs last time). But now when I run the page in Firefox with firebug enabled I see the message like:

Divizia "fb-root" div nu a fost creată, creând automat

So why is tBunăs done if it does not exist? I am sure I have tested tBunăs in past and tBunăs was not happening earlier.

0

1 răspunsuri

Aceasta poate fi o schimbare în GWT în sine. Acestea fiind spuse, nu este cel mai bun mod de a verifica existența unui element dom.

În schimb, utilizați Document.get() getElementById (String) pentru a verifica un element prin id și comparați-l cu null. Acest lucru se va compila până la ceva foarte simplu (probabil doar $ doc.getElementById (id) ) și nu va crea încă un widget (RootPanel este widget) și cheltuielile aferente.

0
adăugat
am vazut acelasi comportament chiar si daca (Document.get ()) getElementById ("fb-root")! = null)
adăugat autor Vik, sursa
Dacă apelați RootPanel.get (id) și care creează ceva, atunci getElementById nu va reveni la zero. Dacă începeți cu getElementById, nu trebuie să obțineți div "fb-root" div nu a fost creat, creând automat , decât dacă altceva este responsabil pentru crearea acestuia, nu GWT în sine.
adăugat autor Colin Alworth, sursa