[Seaside] #render: and #children. What if I don't?
Esteban A. Maringolo
emaringolo at gmail.com
Thu Oct 16 17:36:45 UTC 2014
I also use components as "sophisticated tags", it is, just for
rendering as you do.
As far as I remember from older Seaside versions (dating back to the
"squeak enterprise aubergines server" naming), #children is used for
backtracking and proper handling of the "backbutton problem", it is,
to store the components along the transitions.
If you rely a lot on AJAX and backbutton is not an issue, I guess
#children might be totally ignored. But I couldn't tell.
tl;dr I don't know for sure either :)
Esteban A. Maringolo
2014-10-16 13:43 GMT-03:00 Mariano Martinez Peck <marianopeck at gmail.com>:
> Hi guys,
> From what I understand, if we have a component called X which, as part of
> the #renderConentOn: (or derivative), does:
> ComponentX >> renderContentOn: html
> html render: self componentY
> Then we need to add componentY to the #chidlren:
> ComponentX >> children
> ^ Array with: self componentY
> So..not the question is...it seems in some places I forgot to add it to
> #chidlren and the component still render correctly. At the same time, I
> remember once I was fighting to find a bug and it was exactly because I
> forgot to add the component to #children. So... what exactly happens if I
> DON'T add the component as a #children? What does it get broken?
> The second question is...is a bit of a pain the #children. Why? Because I
> must store the component somewhere...which I may not requiere that. For
> example, if I have this code:
> html render: (MyWebMessageComponent new errorMessage: 'Problem with xxxx';
> then I must define an instVar for that component, assign to it before
> render, and then render...
> so the second question is...for this type of component that I render only
> "once" (the component is instantiated as part of the rendering phase and
> dead after), do I also have to add it to #children?
> Thanks in advance for any clarification.
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside