Ошибка: StaticInjectorError HttpClient в совместно используемом компоненте - PullRequest
0 голосов
/ 19 сентября 2019

Мне нужна помощь по этой ошибке ниже.

Я создал общий компонент, используя Ionic 4. Я создал модуль внутри этого общего компонента, и этот модуль отлично работает с поставщиками, упомянутыми ниже (AppVersion, Geolocation,BarcodeScanner, UniqueDeviceID и т. Д.), Когда я вызываю свое приложение.

Моя проблема:

Я поместил много объявлений о плагинах в этот общий компонент внутри этого модуля (shared.module.ts)

@NgModule({
imports: [
CommonModule,
IonicModule,
FormsModule//,
//HttpClientModule
],
declarations: [
LoginPage,
TrocasenhaPage,
MenulateralPage,
HomologacaoComponent
],
providers: [
AppVersion,
Geolocation,
BarcodeScanner,
UniqueDeviceID
. . .

Когда я вызываю это приложение после использования HttpClient внутри декларации провайдеров, оно показывает эту ошибку:

StaticInjectorError (AppModule) [UsuarioService -> HttpClient]

Если я добавлю HttpClient, чтобы попытаться откорректировать ошибку в объявлении провайдеров, мое приложение отобразит эту ошибку:

StaticInjectorError (AppModule) [HttpClient -> HttpHandler]

После этого я пытаюсь поместить HttpClientModule в декларацию «import».Затем мое приложение показывает эту ошибку:

StaticInjectorError (AppModule) [HttpHandler -> Injector]

1 Ответ

0 голосов
/ 20 сентября 2019

HttpClientModule относится к широкой области приложения, его не должно быть в SharedModule.

Переместите его к себе app.module.ts:

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

и добавьте в массив импорта:

...
imports: [
    BrowserModule,
    AppRoutingModule,
    HttpClientModule
    ....
]

Затем в провайдере вы импортируете httpClient и внедряете его через конструктор:

import { HttpClient, HttpHeaders, HttpErrorResponse } from "@angular/common/http";
....

constructor(
    public http: HttpClient
) {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...