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:
export 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ų:
import { Injectable } from '@angular/core';
export class DataService {
}
Pritaikykime jį mūsų klasei:
import { 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:
export class DataService {
private data: string[] = ['a', 'b', 'c'];
}
Dabar parašykime metodą duomenims gauti:
export 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.
Sukurkite savo paslaugą, kuri grąžins objektų masyvą su prekėmis:
[
{
name: 'prod1',
cost: 100,
},
{
name: 'prod2',
cost: 200,
},
{
name: 'prod3',
cost: 300,
},
]