Merge pull request #420 from ErickRodrCodes/ES-LA-8,9,10,13

docs: exercises 8,9,10,13 in ES-LA
This commit is contained in:
Laforge Thomas
2023-12-22 08:52:46 +01:00
committed by GitHub
4 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
---
title: 🔴 Pipe Wrapper para utilidades
description: El desafío 10 trata sobre la creación de un pipe para envolver utilidades
author: thomas-laforge
challengeNumber: 10
command: angular-pipe-hard
sidebar:
order: 202
---
El objetivo de esta serie de 3 desafíos de pipes es dominar **pipe** en Angular.
Los pipes puros son una forma muy útil de transformar datos desde tu plantilla. La diferencia entre llamar a una función y un pipe es que los pipes puros son memorizados. Así que no serán recalculados en cada ciclo de detección de cambios si sus entradas no han cambiado.
## Información:
En este tercer ejercicio, quieres acceder a funciones de utilidades. Actualmente no puedes acceder a ellas directamente desde tu plantilla. El objetivo es crear un pipe específico para este archivo de utilidades donde necesitarás pasar el nombre de la función que quieres llamar y los argumentos necesarios.
## Restricciones:
- El tipo debe ser fuertemente definido.

View File

@@ -0,0 +1,19 @@
---
title: 🟠 Estilos CSS Altamente Personalizables
description: El desafío 13 trata sobre la creación de estilos CSS altamente personalizables
author: thomas-laforge
challengeNumber: 13
command: angular-styling
sidebar:
order: 104
---
## Información
El estilo es un aspecto importante del trabajo diario de un desarrollador de frontend, pero a menudo se subestima. En las aplicaciones de Angular, frecuentemente veo a personas usando `@Input()` para personalizar el estilo de sus componentes. Sin embargo, `@Input()` solo debe usarse para lógica. Otras técnicas, como las **variables CSS** y **host-context** deben usarse para el estilo.
En este desafío, necesitarás usar tanto variables CSS como `:host-context` para eliminar todos los `@Input()` de tu código.
## Restricciones:
- En tu presentación final, tu componente no debe contener ninguna línea de código. Todo el estilo debe manejarse dentro del decorador _(o archivos CSS externos si lo prefieres)_

View File

@@ -0,0 +1,22 @@
---
title: 🟢 Pipe Puro
description: El desafío 8 trata sobre la creación de un pipe puro
author: thomas-laforge
challengeNumber: 8
command: angular-pipe-easy
blogLink: https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d
sidebar:
order: 3
---
El objetivo de esta serie de 3 desafíos de pipes es dominar **pipe** en Angular.
Los pipes puros son una forma muy útil de transformar datos desde tu plantilla. La diferencia entre llamar a una función y un pipe es que los pipes puros son memorizados. Así que no serán recalculados en cada ciclo de detección de cambios si sus entradas no han cambiado.
## Información:
En este primer ejercicio, llamas a una función simple dentro de tu plantilla. El objetivo es convertirla en un pipe.
## Restricciones:
- El tipo debe ser fuertemente definido.

View File

@@ -0,0 +1,23 @@
---
title: 🟠 Pipe Wrapper para funciones
description: El desafío 9 trata sobre la creación de un tubo para envolver funciones de componentes
author: thomas-laforge
challengeNumber: 9
command: angular-pipe-intermediate
blogLink: https://medium.com/ngconf/boost-your-apps-performance-by-wrapping-your-functions-inside-a-pipe-7e889a901d1d
sidebar:
order: 103
---
El objetivo de esta serie de 3 desafíos de pipes es dominar **pipe** en Angular.
Los pipes puros son una forma muy útil de transformar datos desde tu plantilla. La diferencia entre llamar a una función y un pipe es que los pipes puros son memorizados. Así que no serán recalculados en cada ciclo de detección de cambios si sus entradas no han cambiado.
## Información:
En este segundo ejercicio, estás llamando a múltiples funciones dentro de tu plantilla. Puedes crear un pipe específico para cada una de las funciones, pero esto sería demasiado engorroso.
El objetivo es crear un pipe `wrapFn` para envolver tu función de retorno a través de un pipe. Tu función DEBE permanecer dentro de tu componente. **`WrapFn` debe ser altamente reutilizable.**
## Restricciones:
- El tipo debe ser fuertemente definido.