Bir Servisin Angular-da Digər Servisə Əlavə Edilməsi
Layihə üzərində işləmək üçün bizə funksionallığı genişləndirmək üçün bir servisi digər servisə əlavə etmək lazım ola bilər. Gəlin yeni məlumatlar əlavə edildikdə konsola mesaj çıxaran başqa bir servis yaradaq.
Əvvəlcə test/src/app qovluğunda
log.service.ts faylını yaradırıq.
LogService sinifini eksport edirik,
içərisində konsola mesaj çıxarmaq üçün
write funksiyasını yazırıq:
import { Injectable } from '@angular/core';
@Injectable()
export class LogService {
write(message: string) {
console.log(message);
}
}
Sonra DataService servisimizə keçirik
və yeni servisimizi import edirik, inject edirik
və istifadə edirik:
import { Injectable } from '@angular/core';
import { LogService } from './log.service'; // import edirik
@Injectable()
export class DataService {
private data: string[] = ['a', 'b', 'c'];
constructor(private logService: LogService) { // inject edirik
}
getData(): string[] {
this.logService.write('data received'); // istifadə edirik
return this.data;
}
addData(name: string){
this.data.push(name);
this.logService.write('new elem added'); // istifadə edirik
}
}
Ancaq bu, kifayət deyil. Yeni servisi birbaşa istifadə olunmasa da, komponent sinfində də qeyd etmək lazımdır:
import { Component } from '@angular/core';
import {DataService} from './data.service';
import {LogService} from './log.service'; // import edirik
@Component({
........
providers: [DataService, LogService] // əlavə edirik
})