⊗jsagPmSvITS 77 of 97 menu

Bir Servisin Angular'da Başka Bir Servise Enjekte Edilmesi

Proje üzerinde çalışmak için, işlevselliği genişletmek amacıyla bir servisi başka bir servise enjekte etmemiz gerekebilir. Yeni veri eklendiğinde konsola mesaj yazdıracak başka bir servis daha yapalım.

İlk olarak test/src/app klasöründe log.service.ts dosyasını oluşturuyoruz. LogService sınıfını dışa aktaracağız, içine konsola mesaj yazdırmak için write fonksiyonunu yazacağız:

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

Daha sonra DataService servisimize gidip yeni servisimizi içe aktaracağız, enjekte edeceğiz ve kullanacağız:

import { Injectable } from '@angular/core'; import { LogService } from './log.service'; // içe aktarıyoruz @Injectable() export class DataService { private data: string[] = ['a', 'b', 'c']; constructor(private logService: LogService) { // enjekte ediyoruz } getData(): string[] { this.logService.write('veri alındı'); // kullanıyoruz return this.data; } addData(name: string){ this.data.push(name); this.logService.write('yeni öğe eklendi'); // kullanıyoruz } }

Ancak bu yeterli değil. Doğrudan kullanılmasa bile, yeni servisi bileşen sınıfında da tanımlamak gerekiyor:

import { Component } from '@angular/core'; import {DataService} from './data.service'; import {LogService} from './log.service'; // içe aktarıyoruz @Component({ ........ providers: [DataService, LogService] // ekliyoruz })
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet