以SAP Spartacus b2b unit table的配置信息为例:位于文件units.config.ts里:

运行时,这些配置信息,被merge在table.service.ts的this.config.table变量里:


该配置通过一个函数unitsTableConfigFactory暴露给消费者:

依赖注入时,该函数会通过工厂模式被触发:

而且是惰性触发,也就是说,如果没有进入到B2B page的任何一个table,不会触发依赖注入:

看运行时的调用栈:

useFactory字段的函数,作用就是生成待注入的内容:调用工厂函数:


这里能看到很多已经注入好了的信息:


更多Jerry的原创文章,尽在:“汪子熙”:

SAP Spartacus B2B table的配置信息的merge原理相关推荐

  1. SAP Spartacus B2B table的配置信息从哪里来?

    运行时的table配置: 实现位于table.config.ts里: 以unit table为例,配置的实现在units.config.ts文件里: 运行时的效果: 更多Jerry的原创文章,尽在:& ...

  2. SAP Spartacus b2b table,通过listService的table type字段来控制要加载的数据类型

    通过get运算,巧妙地将viewType重定向到tableType了: view type和table type指向同一个字段:table type: structure的生成通过table serv ...

  3. SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理

    该按钮的实现位于 toggle-status.component.html 里,点击后,可以对当前显示的 B2B item 进行 activation 和 deactivation 操作. toggl ...

  4. SAP Spartacus B2B Unit page convertListItem方法的工作原理

    点击expand all后,触发该方法: 输入参数unit,就是从后台OCC API返回的数据: 变量node绝大部分数据来自unit,使用-, 增添了一些额外属性: 递归调用: 递归函数处理之后的结 ...

  5. SAP Spartacus B2B 页面信息提示图标的弹出窗口显示实现逻辑

    这个弹出窗口的技术实现,通过SAP Spartacus 自定义的popover Component实现而成: 注意,当我刚接触Angular时,误以为下图标号为1的a标签,和标号为2的自定义标签cx- ...

  6. SAP Spartacus B2B OrgUnit 和 OrgUser 的路由映射差异比较

    SAP Spartacus B2B 页面类似 SAP Fiori Launchpad,共有 6 个 tile(磁贴),点击某个磁贴,能跳转到对应的列表页面. 路由映射就是指点击某个 url 之后(例如 ...

  7. SAP Spartacus B2B 页面 Disable 按钮的显示原理

    SAP Spartacus B2B 页面 disable 按钮如下图所示. 这个高亮的 disable 按钮,和左边相邻的 Edit 按钮,实现位于不同的 Component. disable 按钮有 ...

  8. SAP Spartacus B2B 列表页面的 (i) icon popover Component 的声明位置

    SAP Spartacus B2B 页面的列表页面,一共有 6 个类似 SAP Fiori Language 里的 tile(磁贴): 点击去之后,能看到列表页面有一个绿色 icon 图标,点击之后, ...

  9. SAP Spartacus B2B Popover Directive 和 Popover Component 的生命周期管理

    解析 SAP Spartacus B2B list 实现,即list.component.html时,因为在Component 模板里遇到了[cxPopover]指令,因此触发依赖注入: 首先创建di ...

最新文章

  1. 【组队学习】一月微信图文索引
  2. 禁止微信下拉 露出黑色背景
  3. 如何卸载Exchange Server 2010
  4. 计算机网络环境及应用系统的安装与调试(Computer network environment and application system installation and debugging)
  5. 关于#pragma code_seg
  6. linux文件目录详细介绍
  7. pytorch clamp 与clamp_区别
  8. SQL Server中SQL Union vs Union All
  9. 静态方法、静态内部类和抽象方法的注意问题
  10. 因特网人群信息的应用-通过人群性格特点投放定制广告
  11. python之__repr__
  12. 如何读取书生sep文档内容
  13. 网络安全知识点(全)
  14. 接口测试用例设计实践(含详细实例)
  15. Python 百度智能云文字识别 实现手写文字识别
  16. RealSR性能大幅提升,旷视科技+快手科技+电子科大联合提出“先发散再收敛”的D2CSR
  17. 【热门主题:萤火之夜xp桌面】
  18. StarUML作图总结
  19. IT部门信息管理系统
  20. chrome android版 插件下载,Chrome安卓下载

热门文章

  1. ORACLE---Unit04: SQL(高级查询)
  2. 一起学shell之(九-2)拼写检查、进程
  3. ansible 部署ssh 偶尔巨慢的解决方法
  4. mutt的实现, mutt+msmtp+getmail配置
  5. 客户端实时获取Oracle数据库服务器端的系统时间
  6. CS224n笔记一:开端
  7. LightOJ1298 One Theorem, One Year(DP + 欧拉函数性质)
  8. [转]C#连接操作mysql实例
  9. linux 编译 freescale arm 的gdb server
  10. CLR via C# (二)