⊗jsagPmSvITS 77 of 97 menu

ერთი სერვისის მეორეში ინჟექცია Angular-ში

პროექტზე მუშაობისთვის შეიძლება დაგვჭირდეს ერთი სერვისის მეორეში ჩაწერა, რათა გავაფართოვოთ მათი ფუნქციონალი. მოდით შევქმნათ კიდევ ერთი სერვისი, რომელიც ახალ მონაცემთა დამატებისას გამოიტანს შეტყობინებებს კონსოლში.

თავდაპირველად ფოლდერში test/src/app შევქმნათ ფაილი log.service.ts. ექსპორტირებას ვახდენთ კლასის LogService, რომელშიც დავწერთ ფუნქციას write შეტყობინების კონსოლში გამოსატანად:

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

შემდეგ გადავიდეთ ჩვენს სერვისში DataService და იმპორტირება, ინჟექცია და გამოყენება ვუკეთოთ ჩვენს ახალ სერვისს:

import { Injectable } from '@angular/core'; import { LogService } from './log.service'; // იმპორტირება @Injectable() export class DataService { private data: string[] = ['a', 'b', 'c']; constructor(private logService: LogService) { // ინჟექცია } getData(): string[] { this.logService.write('მონაცემები მიღებულია'); // გამოყენება return this.data; } addData(name: string){ this.data.push(name); this.logService.write('ახალი ელემენტი დაემატა'); // გამოყენება } }

თუმცა, ეს საკმარისი არ არის. საჭიროა ახალი სერვისის მითითება კომპონენტის კლასშიც, თუმცა ის იქ პირდაპირ და არ გამოიყენება:

import { Component } from '@angular/core'; import {DataService} from './data.service'; import {LogService} from './log.service'; // იმპორტირება @Component({ ........ providers: [DataService, LogService] // დამატება })
ქართული
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა