[Seaside] #render: and #children. What if I don't?
Johan Brichau
johan at inceptive.be
Thu Oct 16 20:16:35 UTC 2014
As far as my knowledge goes about this part of the Seaside framework, #children is important in:
- a WATask [1]
- when you don’t override renderContentOn: (falling back to the default behavior of rendering the children)
- in combination with #states when you want to support state backtracking with the back button
FWIW, I know and have many components that don’t declare their children and it works fine. Of course, I’m not using any of the above in those cases.
Johan
[1] http://book.seaside.st/book/components/tasks/sequencing-components
On 16 Oct 2014, at 18:43, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
> 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'; yourself)
>
> 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.
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20141016/c86e3ca3/attachment.htm
More information about the seaside
mailing list