以SAP Spartacus b2b unit table的配置資訊為例:位于檔案units.config.ts裡:
SAP Spartacus B2B table的配置資訊的merge原理 運作時,這些配置資訊,被merge在table.service.ts的this.config.table變量裡:
SAP Spartacus B2B table的配置資訊的merge原理
SAP Spartacus B2B table的配置資訊的merge原理 該配置通過一個函數unitsTableConfigFactory暴露給消費者:
SAP Spartacus B2B table的配置資訊的merge原理 依賴注入時,該函數會通過工廠模式被觸發:
SAP Spartacus B2B table的配置資訊的merge原理 而且是惰性觸發,也就是說,如果沒有進入到B2B page的任何一個table,不會觸發依賴注入:
SAP Spartacus B2B table的配置資訊的merge原理 看運作時的調用棧:
SAP Spartacus B2B table的配置資訊的merge原理 useFactory字段的函數,作用就是生成待注入的内容:調用工廠函數:
SAP Spartacus B2B table的配置資訊的merge原理
SAP Spartacus B2B table的配置資訊的merge原理 這裡能看到很多已經注入好了的資訊:
SAP Spartacus B2B table的配置資訊的merge原理
SAP Spartacus B2B table的配置資訊的merge原理