⊗jsagPmSvUs 76 of 97 menu

Användning av en tjänst i Angular

I föregående lektion skapade vi vår egen tjänst DataService. Låt oss nu importera den till komponenten:

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

I dekoratören @Component i egenskapen providers måste vi ange vår tjänst:

@Component({ ..... providers: [ DataService ] // här })

Nu kommer vi att använda ett speciellt tillvägagångssätt, som kallas dependency injection (dependency injection). Kärnan i det är att vi i komponentens konstruktor kan skicka vår tjänst som en parameter och den kommer automatiskt hamna i komponentens privata egenskap. Se i koden:

export class AppComponent { constructor(private dataService: DataService) { // injicerar beroendet console.log(this.dataService); // tjänsten i den privata egenskapen } }

Injektion för vår tjänst fungerar eftersom vi tidigare applicerade dekoratören Injectable på den.

Låt oss nu i klassens konstruktor hämta data från vår tjänst, genom att anropa motsvarande metod:

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

Låt oss visa den hämtade datan i komponentens template:

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

Hämta produkterna från din tjänst i komponenten och visa dem i komponentens template.

Skapa en metod i din tjänst för att lägga till en ny produkt. I komponenten, skapa en knapp som, när man klickar på den, lägger till en ny produkt.

Skapa ett formulär med två inputfält och en knapp, vars tryckning kommer att lägga till en ny produkt.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa