⊗jsagPmSvUs 76 of 97 menu

Używanie serwisu w Angular

W poprzedniej lekcji stworzyliśmy nasz własny serwis DataService. Teraz zaimportujmy go do komponentu:

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

W dekoratorze @Component we właściwości providers należy wskazać nasz serwis:

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

Teraz skorzystamy ze specjalnego podejścia, które nazywa się wstrzykiwanie zależności (dependency injection). Jego istota polega na tym, że w konstruktorze komponentu możemy przekazać nasz serwis jako parametr i automatycznie trafi on do prywatnej właściwości naszego komponentu. Spójrzcie w kodzie:

export class AppComponent { constructor(private dataService: DataService) { // wstrzykujemy zależność console.log(this.dataService); // serwis w prywatnej właściwości } }

Wstrzykiwanie dla naszego serwisu działa, ponieważ wcześniej zastosowaliśmy do niego dekorator Injectable.

Teraz w konstruktorze klasy komponentu pobierzmy dane z naszego serwisu, wywołując odpowiednią metodę:

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

Wyświetlmy pobrane dane w templacie komponentu:

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

Pobierz produkty z Twojego serwisu w komponencie i wyświetl je w templacie komponentu.

Stwórz w Twoim serwisie metodę do dodawania nowego produktu. W komponencie zrób przycisk, po kliknięciu którego będzie dodawany nowy produkt.

Stwórz formularz z dwoma polami input i przyciskiem, po naciśnięciu którego będzie dodawany nowy produkt.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć