⊗jsagPmSvITS 77 of 97 menu

Egy szolgáltatás beágyazása egy másikba az Angularban

A projekt során szükség lehet arra, hogy egy szolgáltatást egy másikba ágyazzunk be, hogy kibővítsük funkcionalitásukat. Készítsünk egy új szolgáltatást, amely üzeneteket ír ki a konzolra új adatok hozzáadásakor.

Először a test/src/app mappában hozzuk létre a log.service.ts fájlt. Exportáljuk a LogService osztályt, amelyben megírjuk a write függvényt egy üzenet konzolra írásához:

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

Ezután menjünk a DataService szolgáltatásunkhoz, és importáljuk, injektáljuk és használjuk az új szolgáltatásunkat:

import { Injectable } from '@angular/core'; import { LogService } from './log.service'; // importáljuk @Injectable() export class DataService { private data: string[] = ['a', 'b', 'c']; constructor(private logService: LogService) { // injektáljuk } getData(): string[] { this.logService.write('adat megérkezett'); // használjuk return this.data; } addData(name: string){ this.data.push(name); this.logService.write('új elem hozzáadva'); // használjuk } }

Ez azonban nem elég. A új szolgáltatást a komponens osztályban is fel kell tüntetnünk, bár ott közvetlenül nem használjuk:

import { Component } from '@angular/core'; import {DataService} from './data.service'; import {LogService} from './log.service'; // importáljuk @Component({ ........ providers: [DataService, LogService] // hozzáadjuk })
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás