Стварэнне сэрвісу ў 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,
  },
]