Introducción
En Angular, los componentes son las piezas fundamentales de una aplicación. Cada componente encapsula una parte de la interfaz de usuario y su lógica asociada. En esta lección, aprenderemos cómo crear y utilizar componentes en Angular.
Objetivos
- Comprender la estructura básica de un componente Angular.
- Aprender a generar componentes utilizando Angular CLI.
- Conocer las propiedades y métodos básicos de un componente.
- Entender cómo integrar componentes en una aplicación Angular.
Estructura de un Componente Angular
Un componente en Angular se compone de cuatro partes principales:
- Decorador
@Component
: Define el componente y sus metadatos. - Clase del Componente: Contiene la lógica y los datos del componente.
- Plantilla HTML: Define la estructura visual del componente.
- Estilos CSS: Aplica estilos específicos al componente.
Ejemplo Básico de un Componente
import { Component } from '@angular/core'; @Component({ selector: 'app-ejemplo', template: ` <h1>{{ titulo }}</h1> <p>{{ descripcion }}</p> `, styles: [` h1 { color: blue; } `] }) export class EjemploComponent { titulo: string = 'Hola, Angular!'; descripcion: string = 'Este es un componente de ejemplo.'; }
Explicación del Código
- Importación: Importamos el decorador
@Component
desde el paquete@angular/core
. - Decorador
@Component
:selector
: Define el nombre del componente que se utilizará en las plantillas HTML.template
: Define la estructura HTML del componente.styles
: Define los estilos CSS específicos para el componente.
- Clase del Componente:
titulo
ydescripcion
: Son propiedades de la clase que se utilizan en la plantilla HTML.
Generar un Componente con Angular CLI
Angular CLI proporciona una forma rápida y sencilla de generar componentes. Utiliza el siguiente comando para crear un nuevo componente:
Por ejemplo, para crear un componente llamado usuario
, ejecuta:
Este comando generará los siguientes archivos:
usuario.component.ts
: Contiene la clase del componente y el decorador@Component
.usuario.component.html
: Contiene la plantilla HTML del componente.usuario.component.css
: Contiene los estilos CSS del componente.usuario.component.spec.ts
: Contiene las pruebas unitarias del componente.
Integrar Componentes en una Aplicación Angular
Para utilizar un componente en una aplicación Angular, sigue estos pasos:
- Declarar el Componente: Asegúrate de que el componente esté declarado en el módulo correspondiente (generalmente
app.module.ts
).
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { UsuarioComponent } from './usuario/usuario.component'; @NgModule({ declarations: [ AppComponent, UsuarioComponent ], imports: [ BrowserModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
- Utilizar el Selector del Componente: Inserta el selector del componente en la plantilla HTML donde desees que aparezca.
Ejercicio Práctico
Ejercicio 1: Crear un Componente de Producto
- Genera un nuevo componente llamado
producto
utilizando Angular CLI. - Modifica la clase del componente para que tenga las siguientes propiedades:
nombre
: stringprecio
: number
- Actualiza la plantilla HTML del componente para mostrar el nombre y el precio del producto.
- Declara el componente en el módulo principal (
app.module.ts
). - Utiliza el selector del componente en la plantilla principal (
app.component.html
).
Solución
- Generar el componente:
- Modificar la clase del componente:
// producto.component.ts import { Component } from '@angular/core'; @Component({ selector: 'app-producto', templateUrl: './producto.component.html', styleUrls: ['./producto.component.css'] }) export class ProductoComponent { nombre: string = 'Laptop'; precio: number = 1200; }
- Actualizar la plantilla HTML:
- Declarar el componente en el módulo principal:
// app.module.ts import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppComponent } from './app.component'; import { ProductoComponent } from './producto/producto.component'; @NgModule({ declarations: [ AppComponent, ProductoComponent ], imports: [ BrowserModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
- Utilizar el selector del componente:
Conclusión
En esta lección, hemos aprendido cómo crear y utilizar componentes en Angular. Los componentes son esenciales para construir aplicaciones modulares y reutilizables. En la próxima lección, exploraremos las plantillas de componentes en mayor detalle.
¡Continúa practicando y experimentando con componentes para dominar su uso en Angular!
Curso de Angular 2+
Módulo 1: Introducción a Angular
- ¿Qué es Angular?
- Configuración del Entorno de Desarrollo
- Tu Primera Aplicación Angular
- Arquitectura de Angular
Módulo 2: Conceptos Básicos de TypeScript
- Introducción a TypeScript
- Variables y Tipos de Datos en TypeScript
- Funciones y Funciones Flecha
- Clases e Interfaces
Módulo 3: Componentes y Plantillas
- Creación de Componentes
- Plantillas de Componentes
- Estilos de Componentes
- Interacción entre Componentes
Módulo 4: Directivas y Pipes
Módulo 5: Servicios e Inyección de Dependencias
- Introducción a los Servicios
- Creación y Uso de Servicios
- Inyección de Dependencias
- Inyectores Jerárquicos
Módulo 6: Enrutamiento y Navegación
Módulo 7: Formularios en Angular
- Formularios Basados en Plantillas
- Formularios Reactivos
- Validación de Formularios
- Formularios Dinámicos
Módulo 8: Cliente HTTP y Observables
- Introducción al Cliente HTTP
- Realizando Solicitudes HTTP
- Manejo de Respuestas HTTP
- Uso de Observables
Módulo 9: Gestión de Estado
- Introducción a la Gestión de Estado
- Uso de Servicios para la Gestión de Estado
- NgRx Store
- NgRx Effects