zoukankan      html  css  js  c++  java
  • SAP Spartacus 默认路由配置的工作原理

    这个默认配置文件的名称:default-routing-config.ts

    查看哪些地方消费了 defaultRoutingConfig:

    provudeDefaultConfig 是一个 helper 函数:

    这个 RoutingModule.forRoot 方法又会在什么时候被调用呢?

    在这两处:base-storefront.module.ts 和 storefront-foundation.module.ts:

    注意 forRoot 方法返回参数的类型:ModuleWithProviders:

    因为 import 这些 module 的消费 module,imports 区域的类型就是 any[] | Type<any> | ModuleWithProviders<{}>)[]


    关于 ValueProvider 各参数的说明:

    • provide:注入令牌。通常是 Type 或 InjectionToken 的实例,但也可以是 any 实例。

    • multi:如果为 true,则注入器返回实例数组。这对于允许多个提供者散布在多个文件中以向公共令牌提供配置信息很有用。

    一个例子:

    const locale = new InjectionToken<string[]>('locale');
    const injector = Injector.create({
      providers: [
        {provide: locale, multi: true, useValue: 'en'},
        {provide: locale, multi: true, useValue: 'sk'},
      ]
    });
    
    const locales: string[] = injector.get(locale);
    expect(locales).toEqual(['en', 'sk']);
    

    ModuleWithProviders:对 NgModule 及其相关 providers 的包装。

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

  • 相关阅读:
    mysql-5.7.15-winx64免安装版配置
    db2 表授权语句
    java 调用 .net webservice 示例
    打印内存高解决方案
    eclipse快捷键调试总结【转】
    DevExpress GridControl 自定义 summary 算法
    GEMR: Get the parent window for view
    弹出窗口
    WPF UI虚拟化
    WPF应用程序最小化到系统托盘
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/14994118.html
Copyright © 2011-2022 走看看