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!
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 :
Importer ceci dans app.module.ts
import {HttpClientModule} from '@angular/common/http';
et ajoutez celui-ci dans les importations
HttpClientModule
J'ai simplement importer dans appmodule.ts
import { HttpClientModule } from '@angular/common/http';
imports: [
BrowserModule,
FormsModule,
HttpClientModule <<<this
],
Mon problème résolu
Dans mon cas, il fallait:
@Injectable({
providedIn: 'root' // <- ADD THIS
})
export class FooService { ...
au lieu de juste:
@Injectable()
export class FooService { ...
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