错误NullInjectorError:没有提供HttpClient:


ERROR NullInjectorError: R3InjectorError(PaceGeneratorLibraryComponentLoader)[HttpClient -> HttpClient -> HttpClient -> HttpClient]: 
NullInjectorError: No provider for HttpClient!
at NullInjector.get (core.mjs:6367:27)
at R3Injector.get (core.mjs:6794:33)
at R3Injector.get (core.mjs:6794:33)
at R3Injector.get (core.mjs:6794:33)
at R3Injector.get (core.mjs:6794:33)
at ChainedInjector.get (core.mjs:13824:36)
at lookupTokenUsingModuleInjector (core.mjs:3293:39)
at getOrCreateInjectable (core.mjs:3338:12)
at ɵɵdirectiveInject (core.mjs:10879:12)
at NodeInjectorFactory.DetailsComponent_Factory [as factory] (ɵfac.js? [sm]:1:1)

当我使用HttpClient获取后端数据时,我遇到了上面的错误。我已经在我的NgModule中包含了HttpModule,但它似乎不工作。

@NgModule({
declarations: [
AppComponent,
WidgetContainerComponent
],
exports: [],
imports: [
AppRoutingModule,
BrowserAnimationsModule,
HttpClientModule,
BrowserModule,
ToastrModule.forRoot(),
ModalModule.forRoot(),
PlatformCoreBaseModule,
MsalModule.forRoot(getMsalConfig(environment).msalInstanceConfig, getMsalConfig(environment).msalGuardConfig, undefined),

],
providers: [
AppStateService,
ClientSettingsService,
DisplayStateService,
Title,
HttpClientModule,
WebPlatformApiService,
DynamicComponentLoader,

我已经试了好几个小时了,还是没有主意。

在imports数组中使用HttpClientModule,而不是在providers数组中:

import { HttpClientModule } from '@angular/common/http';
@NgModule({
imports: [
//Module...
HttpClientModule,

],
declarations: [
//component
//pipe
//directive
],
providers :[
//services...
],
exports :[
// some components or pipe or directive in the declarations tab
]
bootstrap: [AppComponent]
})

如果没有添加import语句,则在文件顶部使用

import {HttpClientModule} from '@angular/common/http';

注意:如果我们使用单独的模块

,我们还需要导入HttpClientModule

问题在于您声明DetailsComponent的模块。这个组件不在你在问题中分享的模块中;因此,我建议将HttpClientModule添加到该特定模块的导入中。

如果您需要更多帮助,请共享包含DetailsComponent的模块的声明。

最新更新