En Angular, los pipes son una forma poderosa de transformar datos en plantillas. Los pipes incorporados proporcionan funcionalidades comunes que puedes usar directamente en tus aplicaciones sin necesidad de escribir código adicional. En esta sección, exploraremos los pipes más utilizados y cómo aplicarlos en tus componentes.

¿Qué es un Pipe?

Un pipe toma datos como entrada y los transforma antes de mostrarlos en la vista. Los pipes se utilizan en las plantillas de Angular y se denotan con el símbolo |.

Sintaxis Básica

{{ valor | pipeName }}

Pipes Incorporados Comunes

  1. DatePipe

El DatePipe se utiliza para formatear fechas. Puedes especificar diferentes formatos de fecha según tus necesidades.

Ejemplo

<p>Fecha: {{ fechaActual | date:'fullDate' }}</p>

Explicación

  • fechaActual es una variable en tu componente que contiene una fecha.
  • date:'fullDate' formatea la fecha en un formato completo (por ejemplo, "Monday, January 1, 2023").

Formatos Comunes

Formato Descripción Ejemplo
'short' Fecha y hora corta 1/1/23, 1:00 PM
'medium' Fecha y hora media Jan 1, 2023, 1:00:00 PM
'long' Fecha y hora larga January 1, 2023 at 1:00:00 PM GMT+1
'fullDate' Fecha completa Monday, January 1, 2023
'shortDate' Fecha corta 1/1/23
'mediumDate' Fecha media Jan 1, 2023
'longDate' Fecha larga January 1, 2023

  1. UpperCasePipe y LowerCasePipe

Estos pipes se utilizan para convertir cadenas de texto a mayúsculas o minúsculas.

Ejemplo

<p>Texto en mayúsculas: {{ 'hola mundo' | uppercase }}</p>
<p>Texto en minúsculas: {{ 'HOLA MUNDO' | lowercase }}</p>

Explicación

  • uppercase convierte el texto a mayúsculas.
  • lowercase convierte el texto a minúsculas.

  1. CurrencyPipe

El CurrencyPipe se utiliza para formatear números como monedas.

Ejemplo

<p>Precio: {{ precio | currency:'USD':true }}</p>

Explicación

  • precio es una variable en tu componente que contiene un número.
  • currency:'USD':true formatea el número como una moneda en dólares estadounidenses, incluyendo el símbolo de la moneda.

Opciones Comunes

Opción Descripción Ejemplo
'USD' Dólar estadounidense $1,000.00
'EUR' Euro €1,000.00
'GBP' Libra esterlina £1,000.00

  1. DecimalPipe

El DecimalPipe se utiliza para formatear números decimales.

Ejemplo

<p>Número: {{ numero | number:'1.2-2' }}</p>

Explicación

  • numero es una variable en tu componente que contiene un número.
  • number:'1.2-2' formatea el número con al menos 1 dígito entero, 2 dígitos decimales mínimos y 2 dígitos decimales máximos.

  1. PercentPipe

El PercentPipe se utiliza para formatear números como porcentajes.

Ejemplo

<p>Porcentaje: {{ porcentaje | percent:'1.0-2' }}</p>

Explicación

  • porcentaje es una variable en tu componente que contiene un número.
  • percent:'1.0-2' formatea el número como un porcentaje con al menos 1 dígito entero y entre 0 y 2 dígitos decimales.

Ejercicio Práctico

Ejercicio

Crea un componente que muestre una lista de productos con su nombre, precio y fecha de lanzamiento. Utiliza los pipes uppercase, currency, y date para formatear los datos.

Paso 1: Crear el Componente

ng generate component product-list

Paso 2: Definir los Datos en el Componente

// product-list.component.ts
import { Component } from '@angular/core';

@Component({
  selector: 'app-product-list',
  templateUrl: './product-list.component.html',
  styleUrls: ['./product-list.component.css']
})
export class ProductListComponent {
  products = [
    { name: 'Producto A', price: 29.99, releaseDate: new Date(2023, 0, 1) },
    { name: 'Producto B', price: 49.99, releaseDate: new Date(2023, 1, 15) },
    { name: 'Producto C', price: 19.99, releaseDate: new Date(2023, 2, 20) }
  ];
}

Paso 3: Utilizar los Pipes en la Plantilla

<!-- product-list.component.html -->
<ul>
  <li *ngFor="let product of products">
    <h2>{{ product.name | uppercase }}</h2>
    <p>Precio: {{ product.price | currency:'USD':true }}</p>
    <p>Fecha de lanzamiento: {{ product.releaseDate | date:'fullDate' }}</p>
  </li>
</ul>

Solución

Al ejecutar la aplicación, deberías ver una lista de productos con sus nombres en mayúsculas, precios formateados como moneda y fechas de lanzamiento en formato completo.

Conclusión

Los pipes incorporados en Angular son herramientas poderosas para transformar y formatear datos en tus plantillas. En esta sección, hemos cubierto algunos de los pipes más comunes y cómo utilizarlos. Practica utilizando estos pipes en tus proyectos para familiarizarte con sus capacidades y mejorar la presentación de tus datos.

En la siguiente sección, exploraremos cómo crear tus propios pipes personalizados para satisfacer necesidades específicas de tu aplicación.

Curso de Angular 2+

Módulo 1: Introducción a Angular

Módulo 2: Conceptos Básicos de TypeScript

Módulo 3: Componentes y Plantillas

Módulo 4: Directivas y Pipes

Módulo 5: Servicios e Inyección de Dependencias

Módulo 6: Enrutamiento y Navegación

Módulo 7: Formularios en Angular

Módulo 8: Cliente HTTP y Observables

Módulo 9: Gestión de Estado

Módulo 10: Pruebas en Angular

Módulo 11: Temas Avanzados

Módulo 12: Despliegue y Mejores Prácticas

© Copyright 2024. Todos los derechos reservados