Bien, veamos una introducción a los componentes.
Qué es lo que son lo más importante de Angular?
Ya que Angular está compuesto por componentes.
Bueno, también hay otras cosas como los módulos, las directivas, los PIP.
En fin, hay muchas cosas, pero todo giran alrededor de componentes, como por ejemplo una aplicación
de Angular tiene un módulo principal, pero este módulo principal carga un componente principal y este
componente principal también está compuesto por otros componentes y ya está.
La gracia tiene varias características propias que hace que tu componente también se puedan componer
o formar por otros componentes.
Pero bien, qué es lo que son estos componentes?
Bueno, pequeñas partes o piezas bloques de nuestra aplicación en términos de programación son clases,
claro, son clases detalle script que tienen un decorador y también están asociados a una plantilla.
Cada uno de estos componentes de esta clases tiene su propia lógica.
Cumple una función, un rol muy específico dentro de esta aplicación.
Por ejemplo, un componente pueden ser un menú de navegación, pero también una barra lateral o sidebar,
también un calendario, un pie de página o footer, pero también puede ser páginas, páginas dinámicas
que van cambiando su contenido a través de rutas.
Bien, veamos sus características.
Bueno, una clase de tag script con una función específica dentro de la aplicación.
Ya sabemos que los componentes forman nuestra aplicación.
Podemos tener varias componente y cada uno es un pedazo de código.
Un bloque que realiza alguna tarea específica por detrás de escena implementa el patrón de diseño composite,
es decir, los componentes se pueden anidar y puede estar formados unos con otros.
Dentro de la clase de un componente se indica una anotación, se decora y esta anotación incluye metadata
configuraciones.
Una de ellas es el selector, la etiqueta que vamos a utilizar para cargar el componente en el HTML.
Entonces se van anidando mediante el selector, pero también se pueden enrutar.
Puede estar asociado a una ruta WHERE de Angular.
Entonces cae que hacemos un clic en estas rutas.
El contenido de nuestra página va cambiando de forma dinámica y se muestre contenido de ese componente
que está mapeado a esa ruta.
Bueno, muy parecido a lo que sucede con Spring, con Spring MVC.
Cuando un controlador con un método Handler está asociado o está mapeado a una ruta, también tiene
su propio ciclo para inicializar c para destruirse.
Hacer algo cuando cambia algún elemento hijo o padre de los componentes, realizar alguna tarea antes
de renderizar la vista.
En fin, varias cosas MVC separa lógica de programación.
El código TypeScript, que es una clase que soporta, da soporte a una plantilla, por lo tanto maneja
tanto el HTML separado de la clase y por otro lado tenemos también la clase.
Es que representan lógica negocio como los servis y la clase model que representa los datos que tan
mapeados a los Yeison.
Bueno, al final el componente es el controlador que interactúa con el servis, con la lógica negocio.
El servis le retorna los datos en Yeison y el componente se lo pasa a la plantilla.
Entonces finalmente es un MBC, el usuario interactúa con la plantilla, con la vista, con controles,
con eventos, la cual es la clase componente, da soporte, recibe estos datos, interactúa con el servis
lógica negocio.
Bueno y después los datos se imprimen, se presentan en la vista.
Otra característica muy importante es que son asíncrono.
Cada componente se ejecuta en su propio proceso y no se interrumpen entre sí.
Por lo tanto, si un componente falla, lo demás se siguen ejecutando en un proceso diferente.
Nos afectan unos con otros, no se rompe la aplicación, se ejecutan de forma paralela y un componente
tampoco.
No tiene que estar esperando a que se inicializa en los demás para poder inicializar el mismo.
Bueno, y también soportan inyección de dependencia vía constructor podemos inyectar objetos que sean
inyectables y además cada componente maneja su propio estilo.
Cada uno está asociado a un HTML y también a una hoja de estilos.
Ese es, por ejemplo, su componente tiene ciertos estilo.
Esos estilos no afectan a los demás componentes, son propios de cada uno y así mucha característica
más.
Después, durante el curso vamos a ir entrando en detalle y profundizando el concepto de los componentes
y nos vemos en la siguiente clase.