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
的模块的声明。