以SAP Spartacus b2b unit table的配置信息为例:位于文件units.config.ts里:
运行时,这些配置信息,被merge在table.service.ts的this.config.table变量里:
该配置通过一个函数unitsTableConfigFactory暴露给消费者:
依赖注入时,该函数会通过工厂模式被触发:
而且是惰性触发,也就是说,如果没有进入到B2B page的任何一个table,不会触发依赖注入:
看运行时的调用栈:
useFactory字段的函数,作用就是生成待注入的内容:调用工厂函数:
这里能看到很多已经注入好了的信息: