头图

SAP 电商云 Spartacus UI Angular Component 动态创建的单步调试

JerryWang_汪子熙

Jerry 之前的文章SAP 产品 UI 里的容器组件的概念和开发概述介绍过,SAP Spartacus Angular Component,通过我们开发团队自定义的指令 cxComponentWrapper 进行渲染。

在运行时,根据 Angular Component 的名称,即第90行 flexType 字段包含的 QuickOrderComponent,我们能够使用 Angular Component 动态创建 API 来触发这个 Component 的渲染。

default-component.handler.ts 里,调用 viewContainerRef 的 createComponent 方法,创建 Component 实例。

待创建的 Component 如果 constructor 里定义了外部依赖,需要完成这些依赖的创建和注入:

这里待注入的 token 就是 QuickOrderFacade:

这里解析出的 provider 是 QuickOrderService:

CoreModule 一旦被加载,下图第6行 facadeProviders 里的 provider 定义立即生效:

也就是说,运行时,QuickOrderService 会成为 QuickOrderFacade 的具体实现:

更多Jerry的原创文章,尽在:"汪子熙":

阅读 163

Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
0 条评论

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
文章目录
宣传栏