Autor Zpráva
srigi
Profil
Davam to do JS pretoze sa jedna o AIR aplikaciu s HTML/JS backendom.

V aplikacii mam adresar, kde skladujem JS libky (AIR*.js, jQuery, jQuery UI, user fnce).
css/
images/
js/
  lib/
    AIRAliases.js
    jQuery.min.js
    jQueryUI.min.js
    user.js
  app.js


A ide prave o tie user funkcie. V tomto subore mam iba take genericke funkcie, medzi inymi aj funkciu na pripojenie k DB. Tato funkcia vracia objekt, ktory reprezentuje aktualne spojenie s databazou. Casto sa mi stava, ze niektora ina funkcia z user.js potrebuje tento objekt aby mohla komunikovat s DB. Musim ho preto do funkcie manualne predat ako parameter, co je naozaj otravne. Obcas sa navyse objavi situacia, ked parameter nie je mozne predat, napr.:
function handler()
{

}


$('#selector').click(handler);

Do handler() nie je mozne predat parameter, lebo pridanim zatvoriek sa zapis pochopi ako "self-invoking" a handler sa bude spustat automaticky a nie po kliknuti. Takychto situacii su desiatky.

Kcem sa preto spytat ako manazovat odkaz na DB spojenie? Je nejaky navrhovy vzor pre JS (nieco ako Registry), ktorym obsluzim globalne premenne?
THX.
LuBoss
Profil *
Nepomohlo by na zaciatku skriptu ziskat ten databazovy objekt ulozit ho do globalnej premennej (dbObject), dalej si definovat funkcie ako myHandler:
function myHandler() {
handler(dbObject);
}
potom mozes pouzivat myHandler() namiesto handler(dbObject). Popripade mozes skusit zmenit priamo kod tej funkcie handler. Nic lepsie ma nenapada.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: