Ajax a vnorené komponenty

Čamo
Člen | 786
+
0
-

Prosím vás vie mi niekto zrozumiteĺne vysvetliť čo sa deje po zavolaní metódy redrawControl?
Ide o to, že mám komponentu A ktorá má potomka B a tá má potomka C čo je multiplier, ktorý generuje komponenty D – A-B-C-D
No a ja v potomkovi D volám A->redrawControl(‚visitDetail‘). Lenže sa to celé v tej hierarchii poserie a ja neviem prečo.

Tak by ma zaujímalo ktoré metódy sa po redrawControl spustia. Napr. ak spomínaný snippet visitDetail obsahuje komponentu B tak čo sa vlastne udeje na komponente B? Spustí sa továreň pre B v komp. A? spustí sa konštruktor komponenty B? Spustí sa render v komp. B? Spustí sa továreň pre komp. C? Alebo je tam nejaká mágia o ktorej ani neviem?

Ď.

David Matějka
Moderator | 6445
+
+1
-

dovolim si odkazat na moji prednasku :) https://www.youtube.com/watch?…

Čamo
Člen | 786
+
0
-

No pozrel som si ale odpoveď som tam nenašiel.
Môj problém je vlastne v tom, že ja cez ajax volám request ?do=A-B-5-remove a ten handler remove vymaže položku 5 z databázy. A potom sa zavolá A->redrawConrol(‚visitDetail‘). No a padne to vtedy keď sa na komponente B zavolá multiplier ktorý hľadá položku 5. A ja nechápem prečo ju hľadá resp. ako mu povedať že 5 už neexistuje.

David Matějka
Moderator | 6445
+
0
-

ukaz celou ladenku, rekl bych, ze v komponente B posilas do sablony vsechny polozky, vcetne te smazane

Čamo
Člen | 786
+
0
-

Tak tu je link na ladenku https://drive.google.com/open?…

David Matějka
Moderator | 6445
+
+1
-

v $tasks u TaskList komponenty posilas do sablony i tu polozku, kterou si smazal. musis to osetrit. ukaz kdyztak kod komponenty

Čamo
Člen | 786
+
0
-

Aha tak dúfam, že som to vyriešil. Problém bol v tom že v jednej z tých komponent som nastavoval kolekciu výsledkov v konštruktore. A keďže konštruktor sa po redrawControl() už nespúšťa, tak tam ostala aj tá zmazaná položka.

Díky za pomoc.

Editoval Čamo (11. 10. 2017 10:17)