V tomto článku opíšem, ako posúvať scope, nazývaný aj context, do funkcií a metód, s ktorými chceme neskôr pracovať. Problémom je, že pri asynchrónnych spracovaniach je scope objekt window. Je viacero spôsobov ako tomuto javu zabrániť, niektoré som už uvádzal v minulých článkoch. Tentoraz sa zameriam na frameworky Dojo Toolkit a jQuery, ktoré túto funkcionalitu podporujú tiež.
JQuery
Vo frameworku jQuery slúži pre posúvanie scopu metóda proxy(). Tú je možné zapísať len pre posun scopu alebo aj aktuálnych argumentov (premenných), ktoré sa v čase menia, a tak pri vykonávaní metódy by už mali iné hodnoty. Rovnaký princíp platí aj pre Dojo.Príklad: Formáty zápisu metódy proxy() v jQuery.
1
2
$.proxy(callback, context)
$.proxy(callback, context, args)
Príklad: Príklady použitia metódy proxy() v jQuery.
Rovnaký princíp ako v jQuery platí aj v Dojo Toolkit. Jediný rozdiel okrem názvu metódy je opačné poradie prvých dvoch argumentov. Pre prácu s metódou hitch() je potrebné nahrať modul dojo/_base/lang.Príklad: Formát zápisu metódy hitch().
1
2
lang.hitch(context, callback)
lang.hitch(context, callback, args)
Príklad: Príklady použitia metódy hitch() v Dojo Toolkit.
Verím, že vám tento článok pomohol a v prípade a ak máte iné zaujímavé riešenia, podeľte sa o ne prostredníctvom komentára.30.8.2017, Matej LednárKategória: ProgramovanieProgramovanie,Dojo,jQuery,dojo/_base/lang",hitch(),proxy(),scope,this,windowŽiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.Viac informácií nájdete v sekcii O projekte.