Aikau使用發佈/訂閱模式完全脫鉤所有的部件和服務。 「有效載荷」是發佈在主題上並由訂戶使用的對象。沒有單一的有效載荷類型,每個小部件和服務可能期望包含不同數據的不同有效載荷。我們一直在研究開箱即用的小部件所使用的所有主題,並將它們移動到常量模塊,併爲此編制了每個主題的每個有效負載的結構。
回答你的具體問題 - 列表包中的一個小部件(最基本的是alfresco/lists/AlfList)將發佈一個請求加載數據的有效載荷。列表可以與任何服務一起使用,所以發佈的主題將根據您希望使用的服務而有所不同,同樣,發佈的有效負載也會不同。
例如,如果您使用的是CrudService,則負載將需要包含要加載的URL。大多數其他服務不需要URL,因爲它們被編寫爲使用特定數據並使用已知URL來檢索該數據。
雖然在所有情況下都可能使用CrudService,但使用專用服務(包括編寫自定義服務)有很多好處,以便規範化返回的數據(因爲許多基於WebScript的核心REST API不遵循通用模式)。
當服務加載數據時,它將在響應主題上發佈數據 - 發佈的有效負載將包含實際的列表數據。再一次,CrudService將不具有數據模式的「知識」,因此需要配置列表(使用「itemsProperty」屬性)來識別有效載荷中包含代表列表的數據數組的屬性渲染)。
GitHub上的Aikau tutorial通過創建使用列表和加載列表數據(來自各種來源)的頁面的過程工作 - 如果您還沒有,我建議您完成教程。
也可以使用數據初始化一個列表(通過「currentData」屬性),以便您不需要爲數據創建XHR請求。