×
COOKIES
Prezeraním tejto stránky dochádza k spracovaniu cookies. Spracovaniu cookies zabránite v nastaveniach internetového prehliadača alebo nezobrazovaním tejto stránky v internetovom prehliadači.
Vytvárame riešenia

Ako odstraňovať widgety frameworku Dojo z DOM

Dojo v rámci odstraňovania vytvorených widgetov používa viacero metód pričom pre programátorov sú dôležité len dve z nich. Ide o metódy destroyRecursive() a destroy(). Ďalšie metódy (destroyDescendants(), destroyRendering() a uninitialize()) sú obsiahnuté v spomenutých metódach.
Životný cyklus widgetov je definovaný v module dijit/_WidgetBase.
Príklad: Prehľad metód pre zrušenie widgetu.
1
2
3
4
5
widget.destroy();
widget.destroyDescendants();
widget.destroyRecursive();
widget.destroyRendering();
widget.uninitialize();

Metóda destroyRecursive()

Metóda destroyRecursive() odstráni potomkov, teda widgety v containerNode, a aj samotný widget.
Prehľad volaní v metóde destroyRecursive()
  • destroyRecursive()
    • destroyDescendants()
    • destroy()

Metóda destroy()

Metóda destroy() odstráni len widget, nie potomkov - widgety v containerNode. Ak sa v domNode nachádzajú aj ďalšie widgety, je aplikovaná aj metóda destroyRecursive(). Metóda nie je aplikovaná na widgety v containerNode. Tomu bráni nasledujúci zápis.
Príklad: Volanie metódy destroy(), ktorá volá destroyRecursive().
1
2
array.forEach(registry.findWidgets(this.domNode,
this.containerNode), destroy);
Prehľad volaní v metóde destroy()
  • destroy()
    • destroyRendering()
    • destroyRecursive() - len ak je widget tvorený inými widgetmi
    • uninitialize()
Príklad: Pozor na modul dgrid/selector.
1
2
3
4
5
6
var GridMixin = declare([
Grid,
DijitRegistry,
/*selector,*/ // alias for dgrid/selector
Selection,
Keyboard]);

Záver

Pri práci s pluginom dgrid je potrebné dávať pozor na modul dgrid/selector. Tento modul nesmie byť súčasťou metódy declare(), ktorá mixuje ďalšie moduly pre vytvorenie finálneho dgridu. V opačnom prípade pri odstraňovaní dgridu z DOM nastane chyba.


Dojo,destroy,destroyDescendants,destroyRecursive,destroyRendering,uninitialize
Ž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.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších