天天看點

SAP Spartacus B2B table的配置資訊的merge原理

以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原理

繼續閱讀