⊗jsagPmSvUs 76 of 97 menu

Utilizando um Serviço no Angular

Na lição anterior, criamos nosso próprio serviço DataService. Vamos agora importá-lo para o componente:

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

No decorador @Component, na propriedade providers, precisamos especificar nosso serviço:

@Component({ ..... providers: [ DataService ] // aqui })

Agora, vamos utilizar uma abordagem especial, chamada injeção de dependência (dependency injection). Sua essência consiste no fato de que no construtor do componente podemos passar nosso serviço como um parâmetro, e ele automaticamente será atribuído a uma propriedade privada do nosso componente. Veja no código:

export class AppComponent { constructor(private dataService: DataService) { // injetando a dependência console.log(this.dataService); // serviço na propriedade privada } }

A injeção para o nosso serviço funciona porque aplicamos anteriormente o decorador Injectable a ele.

Vamos agora obter os dados do nosso serviço no construtor da classe do componente, chamando o método correspondente:

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

Vamos exibir os dados obtidos no template do componente:

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

Obtenha os produtos do seu serviço no componente e exiba-os no template do componente.

Crie um método no seu serviço para adicionar um novo produto. No componente, crie um botão que, ao ser clicado, adicionará um novo produto.

Crie um formulário com dois inputs e um botão. Ao pressionar o botão, um novo produto será adicionado.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar