小编new*_*ker的帖子

何时使用Seaside组件,何时使用简单的渲染对象?

我最近在Seaside + Squeak开发了一个Web应用程序,并发现它是一种美妙的体验.Seaside真的比其他所有框架都要强大,我觉得我正在更高层次的抽象工作(在HTTP请求/响应周期和其他框架让你处理的HTML模板之上).

那就是说,我对Seaside组件有点困惑.我最近不得不在组件上显示对象列表(类似于stackoverflow首页).起初我将每个对象都设置为一个组件(WAComponent的子类),但这被证明是非常浪费的,我必须在父组件中动态设置#children才能使其工作.然后我尝试使它们成为渲染对象(不是WAComponent的子类的对象,并使用renderOn渲染:而不是renderContentOn:,就像组件一样).这工作正常,但现在他们无法再像组件那样访问会话对象中的全局状态(使用#session).然后我发现了"WACurrentSession value",它赋予任何对象访问当前Seaside会话对象的权限.我现在能够使它们成为渲染对象.另外,我发现我可以将很多其他更小的组件重写为渲染对象.

除了需要调用/回答或回溯状态外,还有哪些其他原因可以在渲染对象上使用组件?

smalltalk squeak seaside

17
推荐指数
1
解决办法
1517
查看次数

标签 统计

seaside ×1

smalltalk ×1

squeak ×1