სერვისის შექმნა Angular-ში
დავიწყოთ სერვისების შესწავლა საკუთარი სერვისის შექმნით.
ამისთვის საქაღალდეში test/src/app შევქმნათ ფაილი
data.service.ts. ჩვენი სერვისი უპასუხობდეს
ეკრანზე გარკვეული მონაცემების გამოტანას.
შევქმნათ კლასი ჩვენი სერვისისთვის:
export class DataService {
}
ახლა გვჭირდება დეკორატორი Injectable.
მისი გამოყენება მოგვცემს იმის საშუალებას, რომ
სერვისის კლასი შესაძლებელი იყოს შეყვანა
კომპონენტის კლასში. შეყვანაზე ვისაუბრებთ
შემდეგ გაკვეთილზე. ახლა კი იმპორტირებას გავაკეთებთ
საჭირო დეკორატორს:
import { Injectable } from '@angular/core';
export class DataService {
}
გამოვიყენოთ იგი ჩვენს კლასზე:
import { Injectable } from '@angular/core';
@Injectable()
export class DataService {
}
ახლა გავაკეთოთ ისე, რომ ჩვენს კლასში იყოს გარკვეული მონაცემები. ჩვეულებრივ Angular აპლიკაციებში მონაცემები იტვირთება სერვერიდან, მაგრამ ჩვენ სასწავლო მიზნებით გამოვიყენებთ მასივს. შევქმნათ იგი პრივატულ პროპერთიში:
export class DataService {
private data: string[] = ['a', 'b', 'c'];
}
ახლა დავწეროთ მეთოდი მონაცემების მისაღებად:
export class DataService {
private data: string[] = ['a', 'b', 'c'];
getData(): string[] {
return this.data;
}
}
ჩვენი სერვისი მზადაა. შემდეგ გაკვეთილზე ჩვენ მას კომპონენტის კლასთან დავაკავშირებთ.
შექმენით თქვენი საკუთარი სერვისი, რომელიც დააბრუნებს ობიექტების მასივს პროდუქტებით:
[
{
name: 'prod1',
cost: 100,
},
{
name: 'prod2',
cost: 200,
},
{
name: 'prod3',
cost: 300,
},
]