⊗jsagPmSvUs 76 of 97 menu

Utilisation d'un service dans Angular

Dans la leçon précédente, nous avons créé notre propre service DataService. Maintenant, importons-le dans le composant :

import { Component } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { DataService } from './data.service'; // ici

Dans le décorateur @Component, dans la propriété providers, nous devons indiquer notre service :

@Component({ ..... providers: [ DataService ] // ici })

Maintenant, nous allons utiliser une approche spéciale, appelée injection de dépendance (dependency injection). Son essence réside dans le fait que dans le constructeur du composant, nous pouvons passer notre service en paramètre et il sera automatiquement disponible en tant que propriété privée de notre composant. Regardez le code :

export class AppComponent { constructor(private dataService: DataService) { // nous injectons la dépendance console.log(this.dataService); // le service dans la propriété privée } }

L'injection pour notre service fonctionne, car nous lui avons précédemment appliqué le décorateur Injectable.

Maintenant, dans le constructeur de la classe du composant, obtenons les données de notre service, en appelant la méthode correspondante :

export class AppComponent { public data: string[] = []; constructor(private dataService: DataService) { this.data = this.dataService.getData(); } }

Affichons les données obtenues dans le template du composant :

<ol> <li *ngFor="elem of data"> {{ elem }} </li> </ol>

Obtenez les produits de votre service dans le composant et affichez-les dans le template du composant.

Créez dans votre service une méthode pour ajouter un nouveau produit. Dans le composant, créez un bouton, au clic duquel un nouveau produit sera ajouté.

Créez un formulaire avec deux inputs et un bouton, en cliquant sur lequel un nouveau produit sera ajouté.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser