天天看点

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

继续阅读