Angular 根函数的角度问题
在从Angular 5.x升级到7.x之后,我遇到了一个奇怪的TS问题 对于下面的代码,特别是LibCoreModule的forRoot调用,我得到以下错误: 错误类型“ModuleWithProviders”不可分配给类型“any[] |类型'。类型“ModuleWithProviders”不可分配给 键入“type”。 类型“ModuleWithProviders”中缺少属性“apply” 代码: 我试着看看他们是否从v5到v7做了任何改变,但我没有发现任何特别的改变Angular 根函数的角度问题,angular,typescript,Angular,Typescript,在从Angular 5.x升级到7.x之后,我遇到了一个奇怪的TS问题 对于下面的代码,特别是LibCoreModule的forRoot调用,我得到以下错误: 错误类型“ModuleWithProviders”不可分配给类型“any[] |类型'。类型“ModuleWithProviders”不可分配给 键入“type”。 类型“ModuleWithProviders”中缺少属性“apply” 代码: 我试着看看他们是否从v5到v7做了任何改变,但我没有发现任何特别的改变 有人知道如何解决这个问
有人知道如何解决这个问题吗?您应该将LibCoreModule.forRootcoreFactory,[]从声明移到导入属性,我认为这可以解决您的问题,由于模块应注入导入属性您是否尝试过使用npm安装删除节点模块和包锁并重新安装节点模块?@TalhaJunaid现在尝试过,不幸的是,同样的问题。@Chrillewoodz您应该将LibCoreModule.forRootcoreFactory,[]从声明移动到导入属性,我认为这可以解决您的问题,因为模块必须在导入属性中注入。@Sanoj_V不敢相信我没有看到。。。我通常将导入作为第一个数组,因此受到了欺骗-谢谢!如果你把它作为一个答案发布,我会接受。好的,我会发布一个答案!!!
@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]
})