SAP Spartacus 定义在app.module.ts里的providers依赖注入元数据何时得到处理

我基于 SAP Spartacus library创建了一个自定义的Storefront实现。在其app.module.ts里,我采用自定义的MyCurrentProductService,去替换 SAP Spartacus 标准的CurrentProductService 实现:

通过AppComponent的构造函数引入OccCartAdapter的依赖:

启动应用,在解析并加载AppComponent时,检测到输入参数的CurrentProductService是通过 Angular 依赖注入提供的,因此执行getOrCreateInjectable 方法:

注意这里的token 指向class CurrentProductService:

而 CurrentProductService的实例化,发生在下图的代码位置。

其中1和2两处的token指向不一样:

第二处的token,已经指向自定义的product service了:

OccCartAdapter也可以通过同样的方式注入:

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

原文地址:https://www.cnblogs.com/sap-jerry/p/14644801.html