Los servicios se usan para crear variables/datos que se pueden compartir y se pueden usar fuera del componente en el que están definidos.
- PASO #1: Creando un servicio:-
ng g s service-name
s es una forma abreviada de servicio. Esto crea dos archivos nombre-servicio.servicio.spec.ts que no se debe cambiar y un nombre-servicio.servicio.ts.
- proveedores: [Service-nameService],
aquí, la primera letra del nombre del servicio debe ser mayúscula seguida de Servicio escrito sin ningún espacio.
- Marineros = [22, ‘Dustin’, 7];
La variable marineros aquí es una array.
- importar el servicio entre el resto de las importaciones requeridas
Ejemplo:-
import { Service-nameService } from './service-name.service';
tal como lo hicimos en proveedores.
- Crea una variable de cualquier tipo: newData sin mencionar ningún tipo
- En el constructor, defina una propiedad del tipo Servicio
constructor(private demoService: ServiceService) {}
- También cree un método ngOnInit:
ngOnInit(): void { this.newData=this.demoService.Sailors;
{{newData}}
Nota: como hemos agregado ngFor en app.component.html, tendremos que importar FormsModule en app.module.ts
Sintaxis (Ejemplo #1):
serice.service.ts
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class ServiceService { Sailors = [ { id: 22, name: 'Dustin', rating: 7 }, { id: 29, name: 'Brutus', rating: 1 }, { id: 31, name: 'Lubber', rating: 8 }, { id: 32, name: 'Andy', rating: 8 }, { id: 58, name: 'Rusty', rating: 10 }, { id: 64, name: 'Horatio', rating: 7 }, { id: 71, name: 'Zorba', rating: 10 }, { id: 74, name: 'Horatio', rating: 9 } ]; constructor() { } getData() { return 'This is the list of sailors and their corresponding ratings'; } }
En app.component.ts
import { Component } from '@angular/core'; import { ServiceService } from './service.service'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { newData; message:string=''; constructor(private demoService: ServiceService) {} ngOnInit(): void { this.newData=this.demoService.Sailors; this.message=this.demoService.getData(); } }
aplicación.componente.html
<b>Service Example</b> <h5>{{ message }}</h5> <p> ID Name Rating</p> <div *ngFor="let m of newData;"> <p>{{m.id}} {{m.name}} {{m.rating}}</p> </div>
Producción:
Referencias:
https://coursetro.com/posts/code/61/Angular-4-Services-Tutorial
Publicación traducida automáticamente
Artículo escrito por janice_shah y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA