Ajaxing Seaside应用程序中的帮助(需要模板或简单示例)

Ajaxing Seaside应用程序中的帮助(需要模板或简单示例),ajax,smalltalk,seaside,Ajax,Smalltalk,Seaside,我在调整我们新的Seaside应用程序时遇到问题。该应用程序的目标是在级联视图中显示合同数据(概念上类似于一棵树,但视觉上只是组件内部的组件):在顶层显示合同名称,单击它们可以显示这些合同包含的所谓“集合”,单击它们可以显示它们包含的所谓“部分”,等等。 在我们制作的草稿版本中,我们只需将所有信息加载到客户端,然后使用: renderContentOn: html .... html div onClick: (html scriptaculous effect id: tmpid;

我在调整我们新的Seaside应用程序时遇到问题。该应用程序的目标是在级联视图中显示合同数据(概念上类似于一棵树,但视觉上只是组件内部的组件):在顶层显示合同名称,单击它们可以显示这些合同包含的所谓“集合”,单击它们可以显示它们包含的所谓“部分”,等等。

在我们制作的草稿版本中,我们只需将所有信息加载到客户端,然后使用:

renderContentOn: html
....
html div 
    onClick: (html scriptaculous effect id: tmpid; toggleAppear);
    onClick: (html scriptaculous request callback: [visible:=self visible not]);
with: ...
成功混合和混合各个级别的子组件

将所有信息加载到客户端仅用于草稿版本;对于下一个版本,我们希望仅动态加载用户希望扩展的分支。根据Seaside Book,我们知道如何做到这一点,通过执行以下操作,我们可以让客户机正确更新:

onClick: (html jQuery ajax script: [:s| 
    s << (s jQuery: tmpid) append: ...
onClick:(html jQuery ajax脚本:[:s|

s您是否阅读了关于和后续内容的博文?这无疑是将AJAX引入现有Seaside应用程序的最简单方法(查看常见问题解答中的最后一个问题,了解如何开始)。由于这使用了正常的Seaside回调机制,因此状态会自动保持同步

如果您想了解如何管理服务器状态和客户端DOM的复杂示例,请查看包
Scriptaculous组件
附带的树报告小部件,该小部件在类
sutreeport
中实现

或者,您可能想了解一下。Reef提供了对低级AJAX协议的抽象,并在Seaside中自动更新组件