⊗jsagPmSvITS 77 of 97 menu

Vieno serviso įterpimas į kitą Angular

Projektui dirbti mums gali prireikti įterpti vieną servisą į kitą, kad išplėstume jų funkcionalumą. Sukurkime dar vieną servisą, kuris rodys pranešimus konsolėje pridedant naujus duomenis.

Pirmiausia aplanke test/src/app sukuriame failą log.service.ts. Eksportuojame klasę LogService, kurioje parašysime funkciją write pranešimui rodyti konsolėje:

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

Toliau einame į mūsų servisą DataService ir importuojame, injektuojame ir naudojame mūsų naują servisą:

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

Tačiau to nepakanka. Dar reikia nurodyti naują servisą ir komponento klasėje, nors jis ten tiesiogiai ir nenaudojamas:

import { Component } from '@angular/core'; import {DataService} from './data.service'; import {LogService} from './log.service'; // importuojame @Component({ ........ providers: [DataService, LogService] // pridedame })
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti