Autor | Zpráva | ||
---|---|---|---|
gekon Profil * |
#1 · Zasláno: 12. 12. 2011, 06:14:18
Ahoj, pokouším se udělat si v javascriptu (+jquery) grid s dataStore (Zaujal mě EXT framework, ale je to obří a pomalé).
Mám vytvořený grid, kterému předávám instanci dataStore, vytvoření instance gridu je vázané na listener onclick události elementů. Kód vypadá takto nějak: $('#x-user-favorites').live('click',function(){ var store = new dataStore(); store.setUrl({plink ajax:getdata ,'users_favorites_groups'}); var grid = new simpleGrid(); grid.setTitle('Some title'); grid.addColumn('nazev','name',null); grid.addColumn('public',null,function(row){ return row['public'] ? 'Yes' : 'No'; }); grid.addHeader('klik', function(){ //callback }); grid.setDataStore(store); grid.setTargetElement('snippet--user_config'); grid.render(); }); $.ajax { success: function() { grid.updateStore(); } } Díky za odpověď. (předávání url dataStore je takto prozatimní, {} je makro nette frameworku) |
||
Radek9 Profil |
#2 · Zasláno: 12. 12. 2011, 08:59:34
gekon:
Co máš proti globálním proměnným? V JS jsou normálně používané, plno aplikací by se bez nich psalo dost krkolomně. |
||
Chamurappi Profil |
#3 · Zasláno: 12. 12. 2011, 09:56:33
Reaguji na gekona:
Rozsahem platnosti proměnné je funkce, v níž je ta proměnná deklarovaná. Funkce můžou být uvnitř jiných funkcí. To je asi tak vše, co potřebuješ vědět. Z těchto zákonitostí jde odvodit řešení. „Zaujal mě EXT framework, ale je to obří a pomalé“ Proč používáš jQuery s metodou .live ?
„new simpleGrid();“ … „new dataStore();“ Bývá zvykem, že názvy konstruktorů začínají velkým písmenem. |
||
gekon Profil * |
#4 · Zasláno: 12. 12. 2011, 10:23:52
Radek9:
všude čtu, že globálnní proměnné dělají paseku a často se chovají zajímavě. Chamurappi: 1) platnost chápu, teď je to nacpané prozatimně v tom listeneru. 2) click metoda jako taková mi někdy nefunguje na elementy rendrované ajaxem. 3) ok díky za tip |
||
_es Profil |
#5 · Zasláno: 12. 12. 2011, 10:27:41
gekon:
„click metoda jako taková mi někdy nefunguje na elementy rendrované ajaxem“ Môžeš ju tým elementom predsa priradiť po tom „rendrovaní“. |
||
Radek9 Profil |
#6 · Zasláno: 12. 12. 2011, 11:31:24
gekon:
„všude čtu, že globálnní proměnné dělají paseku a často se chovají zajímavě.“ To ale není chyba těch proměnných jako spíš „programátorů“, kteří je zajímavě používají. |
||
Chamurappi Profil |
#7 · Zasláno: 13. 12. 2011, 10:48:24
Reaguji na gekona:
„globálnní proměnné dělají paseku“ Spíš bych řekl, že je dobrým zvykem mít rozsahy platnosti omezené co nejvíc. Co nemusí být globální, nechť není globální. Zrovna u instance tvého objektu není důvod, aby byla globální (a povinně nanejvýš jedna). „teď je to nacpané prozatimně v tom listeneru“ Stačí, když budou listener a tohle nacpané v jiné společné funkci… třeba. |
||
Časová prodleva: 12 let
|
0