Paslaugos sukūrimas Angular

Pradėkime paslaugų studijavimą nuo savo paties sukūrimo. Tam aplanke test/src/app sukurkime failą data.service.ts. Tegul mūsų paslauga atsako už tam tikrų duomenų atvaizdavimą ekrane.

Sukurkime klasę mūsų paslaugai:

data.service.tsexport class DataService {
  
}

Dabar mums reikia dekoratoriaus Injectable. Jo taikymas leis padaryti taip, kad paslaugos klasę galėsime įdiegti į komponento klasę. Apie įdiegimą pakalbėsime kitoje pamokoje. O dabar importuokime reikiamą dekoratorių:

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

export class DataService {
  
}

Pritaikykime jį mūsų klasei:

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

@Injectable()
export class DataService {
  
}

Dabar padarykime taip, kad mūsų klasėje būtų tam tikri duomenys. Paprastai Angular programose duomenys įkeliami iš serverio, bet mokymosi tikslais mes naudosime masyvą. Sukurkime jį privacioje savybėje:

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

Dabar parašykime metodą duomenims gauti:

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

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

Mūsų paslauga yra paruošta. Kitoje pamokoje mes jungėsime ją prie komponento klasės.

Задание 1

Sukurkite savo paslaugą, kuri grąžins objektų masyvą su prekėmis:

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