簡體   English   中英

Angular-運行forRoot函數時出現問題

[英]Angular - Problem running forRoot function

我遇到了一個奇怪的TS問題,只是從Angular 5.x升級到7.x之后才開始遇到。

對於下面的這段代碼,特別是對LibCoreModuleforRoot調用,我收到此錯誤:

錯誤類型'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,但是我沒有發現任何特別的內容。

有人知道如何解決這個問題嗎?

您應該將LibCoreModule.forRoot(coreFactory, [])declarations移至imports屬性,我認為這可以解決您的問題, 因為模塊應該注入imports屬性

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM