代码之家  ›  专栏  ›  技术社区  ›  Chrillewoodz

根函数的角问题

  •  0
  • Chrillewoodz  · 技术社区  · 7 年前

    我有一个奇怪的TS问题,我刚开始从5.x角升级到7.x角。

    对于下面的代码,特别是 forRoot 需要 LibCoreModule ,我得到这个错误:

    错误类型“moduleWithProviders”不能分配给类型“any[] “类型”。类型“moduleWithProviders”不可分配给 类型“类型”。 类型“moduleWithProviders”中缺少属性“apply”。

    代码:

    @NgModule({
      imports: [
        ...
      ],
      exports: [
        ...
      ]
    })
    
    export class LibCoreModule {
    
      public static forRoot(configFactory, deps = []): ModuleWithProviders {
    
        return {
          ngModule: LibCoreModule,
          providers: [
            {provide: CoreConfig, useFactory: configFactory, deps: deps}
          ]
        };
      }
    }
    
    export function coreFactory(): CoreConfig {
    
      return {
        api: environment.api
      };
    }
    
    @NgModule({
      declarations: [
        AppComponent,
    
        // SHOWS ERROR
        LibCoreModule.forRoot(coreFactory, [])
      ],
      imports: [
        BrowserModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    

    我试过看他们是否把v5改成v7,但我没有发现什么特别的地方。

    有人知道怎么解决这个问题吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Sanoj_V    7 年前

    你应该搬家 LibCoreModule.forRoot(coreFactory, []) 从 declarations 到 imports 财产,我想这可以解决你的问题, 因为模块应该注入到imports属性中

    推荐文章