სერვისის შექმნა Angular-ში

დავიწყოთ სერვისების შესწავლა საკუთარი სერვისის შექმნით. ამისთვის საქაღალდეში test/src/app შევქმნათ ფაილი data.service.ts. ჩვენი სერვისი უპასუხობდეს ეკრანზე გარკვეული მონაცემების გამოტანას.

შევქმნათ კლასი ჩვენი სერვისისთვის:

data.service.tsexport class DataService {
  
}

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

data.service.tsimport { Injectable } from '@angular/core';

export class DataService {
  
}

გამოვიყენოთ იგი ჩვენს კლასზე:

data.service.tsimport { Injectable } from '@angular/core';

@Injectable()
export class DataService {
  
}

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

data.service.tsexport class DataService {
  private data: string[] = ['a', 'b', 'c'];
}

ახლა დავწეროთ მეთოდი მონაცემების მისაღებად:

data.service.tsexport class DataService {
  private data: string[] = ['a', 'b', 'c'];

  getData(): string[] {
    return this.data;
  }
}

ჩვენი სერვისი მზადაა. შემდეგ გაკვეთილზე ჩვენ მას კომპონენტის კლასთან დავაკავშირებთ.

Задание 1

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

typescript[
  {
    name: 'prod1',
    cost: 100,
  },
  {
    name: 'prod2',
    cost: 200,
  },
  {
    name: 'prod3',
    cost: 300,
  },
]