web-dev-qa-db-fra.com

ERREUR Erreur: StaticInjectorError (AppModule) [UserformService -> HttpClient]:

En essayant d’ajouter une table PrimeNG, j’ai cassé mon build ici: https://github.com/BillyCharter87/Tech-O-Dex-UI/tree/BrokeIt

Je me souviens d'avoir mis à jour mon package.json de TypeScript 2.3.4 à 2.4.0 et cela s'est cassé à cause du fait (je pense) que j'utilisais Headers et Http pour mon appel POST. J'ai essayé de le remettre à 2.3.4 en vain. J'ai corrigé ce que je pouvais en ajoutant:

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

mais toujours courir dans l'erreur que j'ai maintenant pour la HttpClient. J'ai essayé d'importer HttpClient dans les fournisseurs comme suit: providers: [HttpClient] pour mon app.module.ts.

L'erreur complète est la suivante: 

AppComponent.html:9 ERROR Error: StaticInjectorError(AppModule)[HttpClient -> HttpHandler]: 
StaticInjectorError(Platform: core)[HttpClient -> HttpHandler]: 
NullInjectorError: No provider for HttpHandler!
17
Billy

Assurez-vous que vous avez importé HttpClientModule au lieu d’ajouter HttpClient directement à la liste des fournisseurs.

Voir https://angular.io/guide/http#setup pour plus d'informations.

La HttpClientModule fournit en réalité HttpClient pour vous. Voir https://angular.io/api/common/http/HttpClientModule :

18
Kelvin Lai

Importer ceci dans app.module.ts

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

et ajoutez celui-ci dans les importations

HttpClientModule
16
Ragulan28

J'ai simplement importer dans appmodule.ts

import { HttpClientModule } from '@angular/common/http';
  imports: [
     BrowserModule,
     FormsModule,
     HttpClientModule  <<<this 
  ],

Mon problème résolu

4
Sudhansu

Dans mon cas, il fallait:

@Injectable({
    providedIn: 'root'  // <- ADD THIS
})
export class FooService { ...

au lieu de juste:

@Injectable()
export class FooService { ...
3
Mir-Ismaili

fournissez tous les services personnalisés écrits par vous dans la section décorateur de composants .__

remarque: si vous utilisez le service pour échanger des données entre des composants. declare providers: [serviceName] au niveau du module

2
Piriya Ajay Kumar