⊗jsagPmSvUs 76 of 97 menu

Използване на услуга в Angular

В предишния урок ние създадохме наша собствена услуга DataService. Нека сега импортираме това в компонента:

import { Component } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { DataService } from './data.service'; // тук

В декоратора @Component в свойството providers трябва да посочим нашата услуга:

@Component({ ..... providers: [ DataService ] // тук })

Сега ще използваме специален подход, който се нарича внедряване на зависимост (dependency injection). Същността му се състои в това, че в конструктора на компонента можем да предадем нашата услуга като параметър и тя автоматично ще попадне в частното свойство на нашия компонент. Вижте в кода:

export class AppComponent { constructor(private dataService: DataService) { // внедряваме зависимост console.log(this.dataService); // услугата в частно свойство } }

Внедряването за нашата услуга работи, тъй като по-рано приложихме към нея декоратор Injectable.

Нека сега в конструктора на класа компонент да получим данни от нашата услуга, като извикаме съответния метод:

export class AppComponent { public data: string[] = []; constructor(private dataService: DataService) { this.data = this.dataService.getData(); } }

Нека да изведем получените данни в темплейта на компонента:

<ol> <li *ngFor="elem of data"> {{ elem }} </li> </ol>

Получете стоки от вашата услуга в компонента и ги изведете в темплейта на компонента.

Направете във вашата услуга метод за добавяне на нова стока. В компонента направете бутон, при клик върху който ще се добавя нова стока.

Направете форма с два инпута и бутон, при натискане на който ще се добавя нова стока.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне