¿Cómo montar un componente en una página de Angular?
Para trabajar adecuadamente con componentes en Angular, es necesario seguir ciertos pasos para montar y configurar cada parte. A continuación, ilustramos con un ejemplo cómo un componente se puede utilizar en nuestra aplicación mediante el proceso de importación y configuración en una página.
Paso 1: Crear el HTML base
Inicialmente, es importante estructurar el HTML de la página donde se desea montar el componente. Aquí se crean algunos párrafos para dar estructura y separar elementos de forma visual:
<p>Párrafo 1</p><p>Párrafo 2</p><p>Párrafo 3</p>
Paso 2: Montar el componente
Una vez listos los elementos básicos, procedemos a integrar el componente deseado. Utilizando el selector del componente, podemos añadirlo directamente al HTML:
<app-counter></app-counter>
Paso 3: Importar el componente
Es vital asegurarse de que el componente está correctamente importado. En Angular, un componente debe conocerse en el contexto del otro. Se realiza mediante la importación del componente en el módulo que lo utilizará.
¿Cómo visualizar y depurar componentes en Angular?
Una vez configurado todo, visualiza tu componente y sus interacciones en la práctica.
Paso 1: Configurar página de demostración
Si la página about es aquella donde se visualiza el componente app-counter, asegúrate de renderizar adecuadamente la nueva página:
// En el módulo del routerconst routes:Routes=[{ path:'about', component:AboutComponent},...];
Paso 2: Explorar resultados en el navegador
Luego de configurar correctamente la página y componentes, observa la interacción desde el navegador. Usa herramientas como el DevTools para depurar cada evento en el ciclo de vida:
Al iniciar, el constructor del componente se ejecuta primero.
El evento ngOnChanges se activa cada vez que una propiedad de entrada cambia.
La consola muestra cambios específicos y su historial, como valores anteriores y actuales.
Una implementación cuidadosa de estos pasos permite una experiencia rica e interactiva en aplicaciones de Angular, facilitando futuros desarrollos y mejoras de componentes. ¡Continúa explorando y perfeccionando tus habilidades con Angular!
Por si llegan a tener este inconveniente ERROR Error: NG0500: During hydration Angular expected <p> but found <input>.
Simplemente quiten las etiquetas <p>
Espero que les sirva.
GRACIAAAS!
Hola, sabes porque se presenta el error?
La interfaz HTMLInputElement proporciona propiedades y métodos especiales para manipular las opciones, el diseño y la presentación de los elementos <input>.
Detalles del change: SimpleChanges:
Valor actual y valor anterior: change proporciona tanto el valor nuevo como el valor anterior de las propiedades que han cambiado.
Primer valor transmitido: change incluye un atributo que indica si es la primera vez que se transmite un valor para esa propiedad.
No hagan eso, envolver el <app counter> en <p> es error directo hoy día.
Mi aporte
ngOnChanges se activa (se llama automáticamente) en un componente de Angular cuando cambian las propiedades decoradas con @Input() que recibe desde su componente padre.
¿Cuándo exactamente se activa ngOnChanges?
Justo después de que Angular haya actualizado un @Input() (es decir, en el ciclo de vida del componente, antes de ngOnInit() si es la primera vez).
Cada vez que el valor de un @Input() cambia (después de la creación inicial también).
SimpleChanges te muestra qué cambió
Es un objeto que contiene todas las propiedades @Input() que cambiaron, con:
currentValue: el nuevo valor
previousValue: el valor anterior
firstChange(): si es la primera vez que cambia
Está súper clara la explicación de cómo funciona ngOnChanges y cuándo se dispara. Solo sumaría un detalle: si estás pasando un objeto o un array como @Input(), Angular solo detecta el cambio si la referencia cambia.
✅
📍El lifecycle se observa claramente en ejecución
Me llevo que al montar el componente en una página real, es fácil observar el ciclo de vida completo (constructor, ngOnChanges, etc.) usando la consola y DevTools.
📍nputs HTML conectados a señales
Me llevo que los inputs HTML pueden modificar directamente las señales, logrando una comunicación clara entre la UI y la lógica del componente.
📍Signals facilitan la interacción dinámica
Me llevo que usar signals para manejar valores dinámicos como duration o message permite reaccionar automáticamente a los cambios del usuario sin lógica compleja.
📍Importar el componente es obligatorio
Me llevo que no alcanza con usar el selector: el componente debe estar correctamente importado en el contexto de la página o módulo, de lo contrario Angular no lo reconoce.
📍Montar un componente es usar su selector
Me llevo que montar un componente en Angular es tan simple como usar su selector (<app-counter></app-counter>) dentro del HTML de una página.