从前一篇文章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
作为关键字进行查找:
设置一个断点:
这里只是执行完 mergeMap:
在 reducer 里,会把数据存储到 state 里:
state 里这些数据,什么时候,被谁通过什么样的方式读取呢?
试试这个 cms.service.ts 里:
getCurrentPage:直接从 store 里读取:
getComponentData: