Seaside - 当在"renderContentOn:html"中直接调用"html render:"时,在WAComponent中实现#children有什么意义?

uno*_*nom 2 smalltalk seaside pharo

Whatever >> children
        ^Array with: oneComponent with: anotherComponent.
Run Code Online (Sandbox Code Playgroud)

稍后在代码中可能有类似的东西.

Whatever >> renderContentOn: html
        ...
        html render: oneComponent.
        ...
        html render: anotherComponent.
Run Code Online (Sandbox Code Playgroud)

由于我明确地调用这些组件,所以在#children中使用它们有什么用?#children用于其他任何事情吗?

Luk*_*gli 5

Seaside依赖于#children正确实现以下回调:

  • #updateRoot: 自定义生成的HTML文档的head部分,
  • #initialRequest: 在会话开始时初始化组件,
  • #updateUrl: 修改当前的URL,
  • #updateStates: 注册回溯对象,
  • 以及支持辅助方法一样#states,#scripts#styles.

Seaside Book中搜索这些方法以了解有关它们的更多信息.