⊗jsagPmSvITS 77 of 97 menu

Vkladanie jednej služby do druhej v Angular

Pre prácu na projekte môžeme potrebovať vložiť jednu službu do druhej, aby sme rozšírili ich funkcionalitu. Poďme vytvoriť ešte jednu službu, ktorá bude vypisovať správy do konzoly pri pridávaní nových dát.

Najprv v priečinku test/src/app vytvoríme súbor log.service.ts. Exportujeme triedu LogService, v ktorej napíšeme funkciu write pre výpis správy do konzoly:

import { Injectable } from '@angular/core'; @Injectable() export class LogService { write(message: string) { console.log(message); } }

Ďalej prejdeme do našej služby DataService a importujeme, injektujeme a použijeme našu novú službu:

import { Injectable } from '@angular/core'; import { LogService } from './log.service'; // importujeme @Injectable() export class DataService { private data: string[] = ['a', 'b', 'c']; constructor(private logService: LogService) { // injektujeme } getData(): string[] { this.logService.write('data received'); // používame return this.data; } addData(name: string){ this.data.push(name); this.logService.write('new elem added'); // používame } }

To však nestačí. Treba ešte zapísať novú službu aj v triede komponentu, hoci tam nie je priamo používaná:

import { Component } from '@angular/core'; import {DataService} from './data.service'; import {LogService} from './log.service'; // importujeme @Component({ ........ providers: [DataService, LogService] // pridávame })
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť