Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Creación de un Pipe Personalizado en Angular | Dominio de las Directivas y Pipes de Angular
Introducción a Angular

bookCreación de un Pipe Personalizado en Angular

A veces, las tuberías integradas en Angular no son suficientes. Puede que necesite una transformación única que sea específica para su aplicación. En ese caso, puede crear su propia tubería personalizada.

Suponga que tiene una lista de tareas, y cada tarea puede estar completada o no. Para que las tareas completadas destaquen visualmente, desea agregar automáticamente un emoji ✅ a sus títulos. En lugar de codificar esta lógica en cada plantilla, puede crear una tubería dedicada para ello.

Cómo crear una tubería personalizada

Para generar una tubería personalizada en Angular, utilice el siguiente comando de la CLI. La llamaremos formatTitle, ya que su función es formatear el título de la tarea según su estado de finalización:

Esto creará dos archivos:

  • format-title.pipe.ts — la lógica de la tubería;

  • format-title.pipe.spec.ts — un archivo de pruebas unitarias (puede eliminarlo si no necesita pruebas en este momento).

Cuando Angular genera el pipe, se ve de la siguiente manera:

pipe.ts

pipe.ts

copy

Esto es lo que hace este código:

  • La clase FormatTitlePipe implementa PipeTransform, lo que garantiza que el pipe tenga un método transform;

  • El método transform recibe un valor (la entrada) y argumentos opcionales, y devuelve un resultado transformado. En este punto, simplemente retorna la entrada tal como está;

  • El nombre del pipe (formatTitle) se define en el decorador @Pipe — ese es el nombre que se utilizará en la plantilla.

Por ahora, el pipe existe pero no realiza ninguna acción. A continuación, agregaremos la lógica real.

Implementación de un Pipe Personalizado

Es necesario agregar un emoji ✅ al título según el estado de finalización de la tarea (task.completed). Actualice el pipe para aplicar nuestra lógica de formato personalizada:

pipe.ts

pipe.ts

copy

El método transform recibe dos argumentos:

  • value — el título de la tarea;

  • completed — un valor booleano que indica si la tarea está finalizada.

Si la tarea está completa (true), agrega un emoji ✅ al final del título. De lo contrario, simplemente devuelve el título sin cambios.

Uso del Pipe en una Plantilla

Para utilizar el pipe en tu plantilla de Angular, aplícalo con el símbolo de pipe |:

template.html

template.html

copy

Explicación de lo que sucede aquí:

  • task.title es el valor que se pasa al pipe;

  • formatTitle:task.completed aplica el pipe y envía el indicador completed;

  • El título incluirá o no el emoji ✅, dependiendo del estado de la tarea.

El uso de pipes de esta manera ayuda a mantener las plantillas limpias y legibles, y traslada la lógica de formato a código reutilizable y comprobable.

question mark

¿Qué hace el pipe personalizado formatTitle?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 6

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you show me the code for the custom pipe implementation?

How do I use this custom pipe in my Angular template?

What are some other use cases for custom pipes in Angular?

Awesome!

Completion rate improved to 3.13

bookCreación de un Pipe Personalizado en Angular

Desliza para mostrar el menú

A veces, las tuberías integradas en Angular no son suficientes. Puede que necesite una transformación única que sea específica para su aplicación. En ese caso, puede crear su propia tubería personalizada.

Suponga que tiene una lista de tareas, y cada tarea puede estar completada o no. Para que las tareas completadas destaquen visualmente, desea agregar automáticamente un emoji ✅ a sus títulos. En lugar de codificar esta lógica en cada plantilla, puede crear una tubería dedicada para ello.

Cómo crear una tubería personalizada

Para generar una tubería personalizada en Angular, utilice el siguiente comando de la CLI. La llamaremos formatTitle, ya que su función es formatear el título de la tarea según su estado de finalización:

Esto creará dos archivos:

  • format-title.pipe.ts — la lógica de la tubería;

  • format-title.pipe.spec.ts — un archivo de pruebas unitarias (puede eliminarlo si no necesita pruebas en este momento).

Cuando Angular genera el pipe, se ve de la siguiente manera:

pipe.ts

pipe.ts

copy

Esto es lo que hace este código:

  • La clase FormatTitlePipe implementa PipeTransform, lo que garantiza que el pipe tenga un método transform;

  • El método transform recibe un valor (la entrada) y argumentos opcionales, y devuelve un resultado transformado. En este punto, simplemente retorna la entrada tal como está;

  • El nombre del pipe (formatTitle) se define en el decorador @Pipe — ese es el nombre que se utilizará en la plantilla.

Por ahora, el pipe existe pero no realiza ninguna acción. A continuación, agregaremos la lógica real.

Implementación de un Pipe Personalizado

Es necesario agregar un emoji ✅ al título según el estado de finalización de la tarea (task.completed). Actualice el pipe para aplicar nuestra lógica de formato personalizada:

pipe.ts

pipe.ts

copy

El método transform recibe dos argumentos:

  • value — el título de la tarea;

  • completed — un valor booleano que indica si la tarea está finalizada.

Si la tarea está completa (true), agrega un emoji ✅ al final del título. De lo contrario, simplemente devuelve el título sin cambios.

Uso del Pipe en una Plantilla

Para utilizar el pipe en tu plantilla de Angular, aplícalo con el símbolo de pipe |:

template.html

template.html

copy

Explicación de lo que sucede aquí:

  • task.title es el valor que se pasa al pipe;

  • formatTitle:task.completed aplica el pipe y envía el indicador completed;

  • El título incluirá o no el emoji ✅, dependiendo del estado de la tarea.

El uso de pipes de esta manera ayuda a mantener las plantillas limpias y legibles, y traslada la lógica de formato a código reutilizable y comprobable.

question mark

¿Qué hace el pipe personalizado formatTitle?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 6
some-alt