Aikau 使用发布/订阅模型来完全解耦所有小部件和服务。“有效负载”是在主题上发布并由订阅者使用的对象。没有单一的有效负载类型,每个小部件和服务可能期望包含不同数据的不同有效负载。我们一直在研究开箱即用的小部件使用的所有主题,并将它们移动到常量模块和JSDoc中,该文档记录了每个主题的每个有效负载的结构。
在回答您的具体问题时 - 列表包中的一个小部件(最基本的是 alfresco/lists/AlfList)将发布一个请求加载数据的有效负载。列表可以与任何服务一起使用,因此发布的主题将根据您希望使用的服务而有所不同,同样发布的有效负载也会有所不同。
例如,如果您使用 CrudService,那么有效负载将需要包含要加载的 URL。大多数其他服务不需要 URL,因为它们被编写为处理特定数据并使用已知 URL 来检索该数据。
尽管在所有情况下都使用 CrudService 可能很诱人,但使用专用服务有很多好处——包括编写你自己的自定义服务——以规范返回的数据(因为许多基于 WebScript 的核心 REST API 不遵循一个共同的模式)。
当服务加载数据时,它将在响应主题上发布数据 - 发布的有效负载将包含实际的列表数据。再一次,CrudService 将没有数据模式的“知识”,因此需要配置列表(使用“itemsProperty”属性)以识别有效负载中包含表示列表的数据数组的属性渲染)。
GitHub 上的Aikau 教程介绍了创建使用列表和加载列表数据(来自各种来源)的页面的过程 - 如果您还没有完成该教程,我建议您完成。
也可以用数据初始化一个列表(通过“currentData”属性),这样您就不需要对数据发出 XHR 请求。