天天看點

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

從前一篇文章SAP 電商雲 Spartacus UI 的雙重 layout 配置層設計 我們得知,Spartacus 層面的 layout-config.ts 可以控制 page template 應該顯示的 slots 資訊。同時,這個資訊也可以通過 OCC page API 從 commerce 背景獲得,但 Spartacus 層面的配置具有更高的優先級。

本文讨論 OCC page API 傳回之後,Spartacus 如何對其進行處理。

在 Chrome 的 redux 擴充裡找到 action 的名稱:

[Cms] Load Page Data Success

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理
SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

作為關鍵字進行查找:

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

設定一個斷點:

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

這裡隻是執行完 mergeMap:

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理
SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理
SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

在 reducer 裡,會把資料存儲到 state 裡:

SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理
SAP 電商雲 Spartacus UI 從 CMS 取回 slots 和 component 之後的處理

state 裡這些資料,什麼時候,被誰通過什麼樣的方式讀取呢?

試試這個 cms.service.ts 裡:

getCurrentPage:直接從 store 裡讀取:

getComponentData:

繼續閱讀