⊗jsagPmSvUs 76 of 97 menu

Bruk av tjeneste i Angular

I forrige leksjon opprettet vi vår egen tjeneste DataService. La oss nå importere den til komponenten:

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

I dekoratøren @Component i egenskapen providers må vi spesifisere vår tjeneste:

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

Nå vil vi bruke en spesiell tilnærming som kalles avhengighetsinjisering (dependency injection). Essensen er at i konstruktøren til komponenten kan vi sende vår tjeneste som en parameter, og den vil automatisk bli plassert i komponentens private egenskap. Se i koden:

export class AppComponent { constructor(private dataService: DataService) { // injiserer avhengighet console.log(this.dataService); // tjenesten i privat egenskap } }

Avhengighetsinjisering for vår tjeneste fungerer fordi vi tidligere brukte dekoratøren Injectable på den.

La oss nå i konstruktøren til komponentklassen hente data fra vår tjeneste ved å kalle den tilsvarende metoden:

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

La oss vise de hentede dataene i komponentens mal:

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

Hent varene fra din tjeneste i komponenten og vis dem i komponentens mal.

Lag en metode i tjenesten din for å legge til en ny vare. I komponenten, lag en knapp som, når den klikkes, legger til en ny vare.

Lag et skjema med to inndatafelt og en knapp, og ved å trykke på den skal en ny vare legges til.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis