Angular

Angular

Tutorial Angular: Desarrollo de componentes Angular

Angular: desarrollo de componentes standalone y con módulos. Aprende a crear y gestionar componentes en Angular, tanto de forma independiente como integrados en módulos.

En Angular, los componentes son bloques reutilizables que combinan lógica y vista, permitiendo construir aplicaciones modulares y mantenibles.

Creación de componentes

Para crear un componente en Angular, utilizamos el comando:

ng generate component mi-componente

Cuando se ejecuta el comando anterior, la CLI de Angular generará automáticamente los siguientes archivos y directorios:

  • una nueva carpeta con el nombre del componente en el directorio src/app,
  • la clase TypeScript que controla la lógica,
  • la plantilla HTML que define la estructura visual,
  • el archivo CSS que contiene los estilos específicos del componente y
  • el archivo de prueba para realizar pruebas unitarias.

Juntos, estos elementos permiten construir aplicaciones modulares y personalizables.

Estructura de un componente

Un componente en Angular se define utilizando la clase @Component. Esta clase es un decorador que acepta un objeto de metadatos como argumento.

El objeto de metadatos define las propiedades clave del componente, como el selector, la plantilla, los estilos y las animaciones.

A continuación se muestra un ejemplo básico de un componente en Angular:

import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router';

@Component({
  selector: 'app-root',
  standalone: true,
  imports: [RouterOutlet],
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Mi Aplicación Angular';
}

Propiedades del decorador @Component

  • Selector: Define cómo se utilizará el componente en una plantilla HTML. Puede ser un nombre de elemento, un nombre de atributo, o una clase CSS.
  • Template/TemplateUrl: Define la estructura HTML del componente. Puede ser una cadena de HTML directamente en el objeto de metadatos usando template, o referenciar un archivo HTML externo usando templateUrl.
  • Styles/StyleUrls: Define los estilos CSS para el componente. Puede ser una cadena CSS directamente en el objeto de metadatos usando styles, o referenciar un archivo CSS externo usando styleUrls.
  • Standalone: Indica que el componente es independiente, lo que significa que no necesita ser declarado en ningún módulo. Esta es una característica introducida en Angular 14 para simplificar la gestión de módulos.
  • Imports: Permite importar otros componentes, directivas o servicios directamente en el componente. En este ejemplo, imports: [RouterOutlet] se utiliza para incluir el RouterOutlet, lo cual es útil para aplicaciones que utilizan enrutamiento.

Ejemplo de un componente

Clase TypeScript

Supongamos que se desea crear un componente llamado user-profile que muestra la información básica de un usuario.

El siguiente ejemplo demuestra cómo se podría crear este componente en Angular:

// En TypeScript
import { Component } from '@angular/core';

@Component({
    selector: 'app-user-profile', // Selector utilizado en el HTML
    templateUrl: './user-profile.component.html', // Ruta de la plantilla HTML
    styleUrls: ['./user-profile.component.css'] // Ruta de los estilos CSS
})
export class UserProfileComponent {
    userName: string = 'Usuario Ejemplo';
    userAge: number = 25;
}

La clase UserProfileComponent contiene los datos del usuario y puede tener métodos para manejar eventos o realizar operaciones relacionadas con este componente.

Plantilla HTML

<!-- En el archivo user-profile.component.html -->
<div class="user-profile">
    <h2>{{ userName }}</h2>
    <p>Edad: {{ userAge }}</p>
</div>

Estilos CSS

/* En el archivo user-profile.component.css */
.user-profile {
    border: 1px solid #ccc;
    padding: 10px;
    background-color: #f5f5f5;
    text-align: center;
}

Uso del componente

Una vez creado el componente, se puede utilizar en otras partes de la aplicación mediante su selector, como se muestra a continuación:

<!-- En el archivo src/app/app.component.html -->
<app-user-profile></app-user-profile>

Ejecución de la aplicación

Finalmente, para ejecutar la aplicación, se utiliza el siguiente comando de Angular CLI:

ng serve

Luego, en un navegador web, navegar hacia http://localhost:4200 para observar el componente de user-profile en funcionamiento.

Certifícate en Angular con CertiDevs PLUS

Ejercicios de esta lección Desarrollo de componentes Angular

Evalúa tus conocimientos de esta lección Desarrollo de componentes Angular con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Signals en Angular

Angular
Puzzle

Guards funcionales

Angular
Test

Decodificar JWT en Angular

Angular
Test

Servicio con HttpClient

Angular
Código

Ciclo de vida de componentes en Angular

Angular
Test

Gestión de productos de Fake Store API

Angular
Proyecto

Data binding en Angular

Angular
Test

Routes sin módulos en Angular

Angular
Código

Router en Angular

Angular
Test

Instalación de Angular

Angular
Puzzle

Route Guards basados en interfaces

Angular
Código

La directiva @if en Angular

Angular
Puzzle

Formularios reactivos en Angular

Angular
Código

Servicios en Angular

Angular
Puzzle

Interceptor funcional

Angular
Test

Servicio con Array

Angular
Código

La directiva @for en Angular

Angular
Puzzle

Interceptores HTTP

Angular
Código

Componentes standalone true

Angular
Puzzle

Formularios con ngModel en Angular

Angular
Puzzle

Routes en Angular

Angular
Test

Comunicación entre componentes Angular

Angular
Test

Parámetros en rutas con ActivatedRoute

Angular
Test

CRUD de Restaurantes y Platos

Angular
Proyecto

Tablas en Angular Material

Angular
Puzzle

Formulario de registro de usuarios

Angular
Proyecto

Instalación y uso de NgBoostrap

Angular
Puzzle

Desarrollo de componentes Angular

Angular
Test

JWT en Angular

Angular
Código

Formularios reactivos en Angular

Angular
Puzzle

Formularios en Angular Material

Angular
Puzzle

Layout con Angular Material

Angular
Puzzle

Effects en Angular

Angular
Test

Data binding

Angular
Código

HttpClient en servicios de Angular

Angular
Puzzle

Desarrollo de módulos Angular

Angular
Puzzle

Comandos Angular CLI

Angular
Puzzle

Subir archivo en formularios

Angular
Test

La directiva routerLink en Angular

Angular
Test

Todas las lecciones de Angular

Accede a todas las lecciones de Angular y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Instalación Angular

Angular

Introducción Y Entorno

Comandos Angular Cli

Angular

Introducción Y Entorno

Desarrollo De Componentes Angular

Angular

Componentes

Data Binding En Angular

Angular

Componentes

Ciclo De Vida De Componentes En Angular

Angular

Componentes

Comunicación Entre Componentes Angular

Angular

Componentes

La Directiva @If En Angular

Angular

Componentes

La Directiva @For En Angular

Angular

Componentes

Componentes Standalone

Angular

Componentes

Desarrollo De Módulos Angular

Angular

Módulos

Routes En Angular

Angular

Enrutado Y Navegación

Router En Angular

Angular

Enrutado Y Navegación

La Directiva Routerlink En Angular

Angular

Enrutado Y Navegación

Parámetros En Rutas Con Activatedroute

Angular

Enrutado Y Navegación

Routes Sin Módulos En Angular

Angular

Enrutado Y Navegación

Servicios En Angular

Angular

Servicios E Inyección De Dependencias

Httpclient En Servicios De Angular

Angular

Servicios E Inyección De Dependencias

Formularios Con Ngmodel En Angular

Angular

Formularios

Formularios Reactivos En Angular

Angular

Formularios

Subir Archivo En Formularios

Angular

Formularios

Layout Con Angular Material

Angular

Integración Con Angular Material

Tablas En Angular Material

Angular

Integración Con Angular Material

Formularios En Angular Material

Angular

Integración Con Angular Material

Instalación Y Uso De Ngboostrap

Angular

Integración Con Bootstrap Css

Signals En Angular

Angular

Signals Y Reactividad

Effects En Angular

Angular

Signals Y Reactividad

Route Guards Basados En Interfaces

Angular

Autenticación Y Autorización

Guards Funcionales

Angular

Autenticación Y Autorización

Interceptores Http Basados En Interfaz

Angular

Autenticación Y Autorización

Interceptores Http Funcionales

Angular

Autenticación Y Autorización

Seguridad Jwt En Angular

Angular

Autenticación Y Autorización

Decodificar Tokens Jwt En Angular

Angular

Autenticación Y Autorización

Certificados de superación de Angular

Supera todos los ejercicios de programación del curso de Angular y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender del significado y ventajas de los componentes en Angular.
  2. Dominar la creación de componentes.
  3. Configurar componentes con el decorador @Component.
  4. Conocer el contenido de un componente.