- SAP Spartacus 如何根据 page layout 获
- SAP Spartacus Page Layout学习笔记
- SAP Spartacus的Responsive和adaptiv
- 为什么 SAP Spartacus 不手动导入 UserAcco
- SAP Spartacus cx-page-layout属性运行
- SAP 电商云 Spartacus UI 从 CMS 取回 sl
- SAP 电商云 Spartacus 服务器端渲染的单步调试详细步
- 使用outlet在SAP Spartacus的页面添加自定义HT
- 让 fork 出来的 Github 仓库从远端仓库拖取最新的修改
- SAP Spartacus Definition of Done
在 SAP Spartacus PageLayout Component 的实现里,每一个 layoutName 对应都有一个 cxOutlet 可供扩展:
第 13 行的 ngFor 指令,将该实现类的 slots$ 展开,为每一个 slot 放置对应的 CMS Component.
slots$ 是一个数组,通过 pageLayoutService.getSlots 方法获取。
本文介绍这个 getSlots 方法的执行明细。
switchMap 这个 rxjs 操作符,暗示了其传入的箭头函数,是一个 cancellable 的耗时操作。
在这个闭包内执行:
combineLatest:只要 this.page 有一个被订阅,就会触发 map 操作:
支持的所有 slots 和 slots 里面允许的 Components 列表:
breakpoint:xl
读取 slot 配置:
所有 template 配置都在 tis.config.layoutSlots 里了:
拿到了 header 的配置:
最终结果:
更多Jerry的原创文章,尽在:"汪子熙":
网友评论