[英]Angular - Problem running forRoot function
我遇到了一個奇怪的TS問題,只是從Angular 5.x升級到7.x之后才開始遇到。
對於下面的這段代碼,特別是對LibCoreModule
的forRoot
調用,我收到此錯誤:
錯誤類型'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.