Inicio del curso

1

De qué tratará este curso sobre Angular 4

Introducción a Angular 4

2

Versionamiento en Angular

3

Qué es Angular, versiones y ventajas

4

Typescript: qué es

5

Introducción al Proyecto: PlatziSquare!

Setup del Ambiente de Trabajo

6

Herramientas de trabajo y Angular CLI

7

Generación y estructura de Angular 4

8

RETO: Haz un cambio simple en el proyecto.

Conceptos Básicos

9

Para qué nos sirven los Módulos y Componentes

10

Tipos de Data Binding y String Interpolation

11

Property Binding

12

Event Binding

13

Two Way Data Binding

14

Directivas en Angular 4 y ngFor

15

Directiva ngIf

16

Instalando librerías con NPM (Google Maps)

Directivas

17

Directivas ngStyle y ngClass

18

Directiva ngSwitch

19

Directiva de atributo

20

Host Listeners

21

Host Binders

Angular UI

22

Angular Material y Bootstrap

23

Configurando e implementando Bootstrap en nuestro proyecto

Ruteo

24

Qué hace el router en Angular 4

25

Implementación de Rutas en el Proyecto

26

Diferencias entre href y routerLink

27

Resaltando el link activo con CSS para indicar visualmente en que componente nos encontramos

28

Parámetros en Rutas

29

Parámetros tipo Query

30

Creando una vista de detalle para el proyecto

31

Creando la página de contacto para PlatziSquare

Servicios

32

Qué son los servicios en Angular 4

33

Creando nuestro propio servicio

34

Configurando Firebase en nuestro proyecto

35

Guardando Records en Firebase

36

Obteniendo records desde Firebase

37

Obteniendo coordenadas usando Geocoding

38

Reto: Crear una vista para editar records

39

Mostrando marcadores en el Mapa de Google

Conexión Remota (Http y Sockets)

40

Funcionamiento de los llamados Http y Sockets

41

Qué es una arquitectura cliente - servidor

42

Enviando llamados tipo POST

43

Enviando llamados tipo GET

44

Formateando respuestas del servidor con el operador map()

45

Manejando errores HTTP

Pipes

46

Utilidad de los Pipes en Angular 4

47

Usando los pipes por defecto de Angular

48

Parámetros en pipes

49

Creando nuestro propio pipe

Animaciones en Angular

50

Configurando animaciones en nuestro proyecto

51

Transiciones

52

Callbacks

53

Solución al Reto: Añadiendo animaciones a nuestra aplicación

Testing en Angular

54

Introducción a unit tests

55

Configuración de testing por default

56

Corriendo los tests

57

Creando unit tests para componentes

58

Integración de Unit Test con Servicios

Autenticación y Protección de Rutas

59

Cómo funcionan los JSON Web Tokens

60

Preparación de vistas para login y registro

61

Registrando usuarios

62

Loggeando usuarios

63

Protección de Rutas

64

Autenticación con redes sociales.

65

Logout

RxJS

66

Qué es RxJS

67

Configurando RxJS en nuestro proyecto

68

Uso de los Observables

69

Implementando un TypeAhead

70

Implementando un TypeAhead 2

71

Solución al reto autocompletar los campos de dirección usando observables

Publicando nuestro proyecto

72

Publicando en Firebase Hosting

Fin del curso

73

Conclusión ¿Qué aprendimos en el curso?

74

Reto final del curso - realiza un nuevo modulo de PlatziSquare de acuerdo con las historias de usuario

Sesiones en vivo

75

Creando un traser bullet de PlatziSquare

76

Sesión de preguntas y respuestas

77

Release de Angular 5

78

Sesión de preguntas y respuestas

79

Angular Universal

Contenido Bonus

80

Actualización de angular, versión 6.0

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Angular 4

Curso de Angular 4

Eduardo Ibarra

Eduardo Ibarra

Creando nuestro propio servicio

33/80
Recursos

Vamos a agregar un servicio para reutilizar la lista de lugares desde diferentes componentes de la aplicación.

Aportes 19

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Hola!
Cuando cree el servicio lugares.service.ts por alguna extraña razón me tiraba error de que no encontraba el archivo, revise código y nada raro o mal direccionado… terminé cerrando y ejecutando denuevo ng serve y dejo de tirar el error…

muy raro…

Tengo así el archivo lugares.service.ts , me salía error si lo hacía como la clase.

import {Injectable} from "@angular/core";
@Injectable({
    providedIn: 'root',
  })
export class LugaresService{
    lugares:any = [
        {id: 1, plan: 'pagado', cercania: 1, distancia: 1, active: true, nombre:'Florería la Gardenia',description:'Esta es una descripcion'},
        {id: 2, plan: 'gratuito', cercania: 1, distancia: 1.8, active: true, nombre:'Donas la pasadita',description:'Esta es una descripcion'},
        {id: 3, plan: 'gratuito', cercania: 2, distancia: 5, active: true, nombre:'Veterinaria Huellitas Felices',description:'Esta es una descripcion'},
        {id: 4, plan: 'gratuito', cercania: 3, distancia: 10, active: false, nombre:'Sushi Suhiroll',description:'Esta es una descripcion'},
        {id: 5, plan: 'pagado', cercania: 3, distancia: 35, active: true, nombre:'Hotel la Gracia',description:'Esta es una descripcion'},
        {id: 6, plan: 'gratuito', cercania: 3, distancia: 120, active: false, nombre:'Zapatería el Clavo',description:'Esta es una descripcion'},
    ];
    public getLugares(){
        return this.lugares;
    }
    public buscarLugar(id){
        return this.lugares.filter((lugar) => { return lugar.id == id})[0] || null;
    }
}

Excelente manera para crear servicios en angular y utilizarlo en cualquier parte del componente.

prefiero mejor crear el servicio con el comando ng g service nombreservicio , luego asi ya queda listo para trabajar.

Ahorra tiempo…

ng generate service [name]

buenas clases

la variable lugares del lugares.components.ts debe ser tipo array, si no me daba error

export class LugaresComponentesComponent {

    title = 'platziScuare';
    lat = 0.826350;
    lng = -77.638744;
    lugares = [];
    /*PARA EL SERVICIO CREAMOS UNA VARIABLE PRIVADA*/
    constructor(private lugaresServicesService: LugaresServicesService) {
        this.lugares = lugaresServicesService.getLugares();
    }

}

Servicios en Angular es muy sencillo y fácil de aprender gracias a este curso.

Me encanta esto que el IDE te dice que tienes un error y que auto completa, etc… eso ayuda mucho, tal como hacen los IDE de Java. Cosa que faltaba en el desarrollo de Javascript

Injectable crea una instancia de nuestro servicio

Si funciona el video solo tienen que verificar en el FireBase al costado de database aparece una lista desplegable para seleccionar si usas Cloud Firestore o RealTime Database, por defecto esta con Cloud Firestore(https://www.dropbox.com/s/e2vdpzfkyzubct9/Firebase.PNG?dl=0)

Sin el decorador @Injectable también funciona. Por qué ? Ayuda.

¿Porqué cuando creo un servicio aparece en rojo aún declarandolo en app.module.ts? alguien sabe? xd

  • Creación de carpeta “services”

  • Creación del servicio LugaresService

  • Injectable: Directiva que permite inyectar servicio en otros componentes

  • Creación de funciones para obtener o buscar data

  • Inclusión del servicio en el providers del app.module

  • Importación del servicio en el componente a usar

Esto ya va teniendo forma en el proceso de un proyecto, desde los componentes, inyectables y la creación de propias directivas

Los services siempre se importan dentro de providers, hay algún tipo de service que no se declare.

Desde la terminal podemos crear el servicio, automáticamente crea los archivos y modifica lo necesario para que ya funcione, para crearlo junto con la carpeta services como en el video se escribe como sigue:

ng generate service services/lugares

el atributo @injectable() que es lo que hace? es que es como si creara un objeto estático o algo así raro