Los componentes de nuestra aplicación tienen un trabajo, presentar datos y permitir que el usuarios interactúe con esa información.
Tal como la documentación de Angular indica, un Componente no debe tener la responsabilidad de consultar datos o almacenarlos, esa responsabilidad es para los Servicios.
El trabajo de un servicio es el de controlar la información, desde obtenerla, almacenarla, actualizarla y compartirla con los componentes.
No hay nada especial acerca de un Servicio en Angular, excepto que estos deben de integrarse con los componentes vía el inyector de Dependencias de Angular.
Un servicio es una clase, comúnmente decorada con el decorador Injector de Angular, mismo que indica que este Servicio puede inyectar otras dependencias de la aplicación, ya sean otros servicios como el de Http para hacer consultas AJAX.
Un aspecto importante de los servicios es que son objetos Singleton, lo que esto quiere decir es que nunca se crean dos objetos de una misma clase de Servicio, por lo que puedes estar seguro de que si dos o más componentes requieren del Servicio, todos estarán usando el mismo objeto.
¿Por qué esto es importante? Porque todos los componentes comparten la misma información, si un componente actualiza los datos de un servicio, este cambio se verá reflejado en todos los componentes que estén usando esa misma información.
Esto hace de los servicios el punto a través del cual varios componentes pueden compartir información entre sí.
Internamente, un servicio tiene métodos y propiedades, como cualquier otro objeto, estos se utilizarán para consultar información, enviarla a los componentes, guardarla en algún almacén, etc.
Para resumir, un servicio debe usarse cuando:
- Quieres consultar datos para tu aplicación, por ejemplo usando AJAX
- Quieres almacenar información, ya sea en un servicio web o en algún almacén local.
- Quieres compartir datos entre componentes, porque recuerda, en una App de angular nunca se crean dos objetos de un Servicio, siempre es uno y ese se envía a todos los componentes.
- Los servicios son clases que se envían a los componentes vía el inyector de dependencias, del que hablaremos más adelante.
¿Listo para crear tu primer servicio? Continuemos.
-
Módulo 1 | 7 clases
Introducción
expand_more-
play_circle_outline
Clase 1
Introducción al curso de Angular
-
play_circle_outline
Clase 2
Qué aprenderemos en este curso
-
play_circle_outline
Clase 3
Conocimientos previos
-
play_circle_outline
Clase 4
Qué es Angular
-
play_circle_outline
Clase 5
Diferencias entre AngularJS y Angular
-
play_circle_outline
Clase 6
Control de versiones semántico (semantic versioning)
-
play_circle_outline
Clase 7
Anatomía de un proyecto de Angular
-
-
Módulo 2 | 9 clases
Primeros pasos con Angular
expand_more-
play_circle_outline
Clase 1
Web Components
-
play_circle_outline
Clase 2
Crear un componente
-
play_circle_outline
Clase 3
Templates
-
play_circle_outline
Clase 4
Interpolación
-
play_circle_outline
Clase 5
Propiedades y métodos de un componente
-
play_circle_outline
Clase 6
ngOnInit
-
play_circle_outline
Clase 7
Estilos
-
play_circle_outline
Clase 8
ngContent
-
play_circle_outline
Clase 9
Ejercicio con ngContent y componentes
-
-
Módulo 3 | 21 clases
Componentes a detalle
expand_more-
play_circle_outline
Clase 1
Expresiones de un template de Angular
-
play_circle_outline
Clase 2
Sincronización de datos (Data Binding)
-
play_circle_outline
Clase 3
One way binding (interpolación)
-
play_circle_outline
Clase 4
Property binding
-
play_circle_outline
Clase 5
ngClass
-
play_circle_outline
Clase 6
Directivas Estructurales
-
play_circle_outline
Clase 7
ngIf
-
play_circle_outline
Clase 8
Ejercicio con ngIf y ngClass
-
play_circle_outline
Clase 9
ngFor
-
play_circle_outline
Clase 10
ngSwitch
-
play_circle_outline
Clase 11
Eventos
-
play_circle_outline
Clase 12
Nuevo componente para siguientes ejemplos
-
play_circle_outline
Clase 13
Payload de un evento con $event
-
play_circle_outline
Clase 14
Eventos personalizados (EventEmitter)
-
play_circle_outline
Clase 15
Input properties
-
play_circle_outline
Clase 16
Variables de referencia del template
-
play_circle_outline
Clase 17
Two way binding con ngModel
-
play_circle_outline
Clase 18
Pipes
-
play_circle_outline
Clase 19
Cómo crear mi propio Pipe
-
play_circle_outline
Clase 20
Cómo crear mi propia directiva de atributo
-
play_circle_outline
Clase 21
HostListener para eventos
-
-
Módulo 4 | 14 clases
Servicios y Observadores
expand_more-
play_circle_outline
Clase 1
Actualizar a Angular 6
-
play_arrow
Clase 2
Servicios en Angular
-
play_circle_outline
Clase 3
Crear tu propio servicio
-
play_circle_outline
Clase 4
Consultas asíncronas
-
play_circle_outline
Clase 5
Inyector de dependencias en Angular
-
play_circle_outline
Clase 6
Compartir datos de un servicio
-
play_circle_outline
Clase 7
Programación reactiva
-
play_circle_outline
Clase 8
El patrón del observable
-
play_circle_outline
Clase 9
Observadores y Observables en RxJS
-
play_circle_outline
Clase 10
Operadores en RxJS
-
play_circle_outline
Clase 11
Async Pipe
-
play_circle_outline
Clase 12
Operador de navegación segura ?.
-
play_circle_outline
Clase 13
Async y suscripciones a un Observable
-
play_circle_outline
Clase 14
Servicios en Angular 6
-
-
Módulo 5 | 7 clases
Animaciones
expand_more-
play_circle_outline
Clase 1
Animaciones CSS
-
play_circle_outline
Clase 2
Configurar módulo de animaciones
-
play_circle_outline
Clase 3
Estados y Transiciones
-
play_circle_outline
Clase 4
Aplicar estilos a estados y animaciones
-
play_circle_outline
Clase 5
Ejercicio de animación con Angular
-
play_circle_outline
Clase 6
Organizar animaciones
-
play_circle_outline
Clase 7
Animaciones de listas y escalonadas
-
-
Módulo 6 | 2 clases
Cierre del curso
expand_more