⊗jsagPmSvUs 76 of 97 menu

Použití služby v Angular

V předchozí lekci jsme vytvořili vlastní službu DataService. Nyní ji importujme do komponenty:

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

V dekorátoru @Component ve vlastnosti providers je třeba uvést naši službu:

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

Nyní využijme speciální přístup, který se nazývá dependency injection (dependency injection). Jeho podstata spočívá v tom, že v konstruktoru komponenty můžeme předat naši službu parametrem a ta automaticky přejde do soukromé vlastnosti naší komponenty. Podívejte se v kódu:

export class AppComponent { constructor(private dataService: DataService) { // injectujeme závislost console.log(this.dataService); // služba v soukromé vlastnosti } }

Dependency injection pro naši službu funguje, protože jsme na ni dříve aplikovali dekorátor Injectable.

Nyní v konstruktoru třídy komponenty získejme data z naší služby voláním příslušné metody:

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

Vypišme získaná data v templatu komponenty:

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

Získejte zboží z vaší služby v komponentě a vypište je v templatu komponenty.

Vytvořte ve vaší službě metodu pro přidání nového zboží. V komponentě vytvořte tlačítko, po jehož kliknutí bude přidáno nové zboží.

Vytvořte formulář se dvěma inputy a tlačítkem, po jehož stisknutí bude přidáno nové zboží.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout