SAP Spartacus 定義在app.module.ts裡的providers依賴注入後設資料何時得到處理

注销發表於2021-04-11

我基於 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的原創文章,盡在:"汪子熙":

相關文章