SAP|SAP Spartacus 如何根据 page layout 获得对应支持的 slots
在 SAP Spartacus PageLayout Component 的实现里,每一个 layoutName 对应都有一个 cxOutlet 可供扩展:
文章图片
第 13 行的 ngFor 指令,将该实现类的 slots$ 展开,为每一个 slot 放置对应的 CMS Component.
slots$ 是一个数组,通过 pageLayoutService.getSlots 方法获取。
【SAP|SAP Spartacus 如何根据 page layout 获得对应支持的 slots】
文章图片
本文介绍这个 getSlots 方法的执行明细。
switchMap 这个 rxjs 操作符,暗示了其传入的箭头函数,是一个 cancellable 的耗时操作。
在这个闭包内执行:
文章图片
combineLatest:只要 this.page$ 和 this.breakpointService.breakpoint$ 有一个被订阅,就会触发 map 操作:
文章图片
支持的所有 slots 和 slots 里面允许的 Components 列表:
文章图片
breakpoint:xl
文章图片
读取 slot 配置:
文章图片
所有 template 配置都在 tis.config.layoutSlots 里了:
文章图片
文章图片
拿到了 header 的配置:
文章图片
最终结果:
文章图片
更多Jerry的原创文章,尽在:"汪子熙":
文章图片
推荐阅读
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus使用queryWrapper如何实现复杂查询
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 2019女表什么牌子好(如何挑选女士手表?)