Un componente es una pieza de software con una responsabilidad única y una estructura y funcionalidad determinada, además de ser reutilizable.
Es una manera de dividir tu aplicación de una forma escalable para no tener todo en un solo archivo. Por ejemplo, un componente para el header, otro para el footer, uno más para el menú, etc.
Componentes en Angular
Puedes crear tu primer componente en Angular utilizando el comando ng generate component test-name o en su forma corta ng g c test-name.
Esta acción creará los siguientes archivos:
my-test-name.component.html
my-test-name.component.ts
my-test-name.component.css
my-test-name.component.spec.ts
El archivo .html que será el template que tu componente utilizará.
El archivo .ts que contiene el código TypeScript y la lógica.
El archivo .css que contiene los estilos.
Si escogiste trabajar con un preprocesador de CSS, este archivo puede ser .scss, .sass o .less.
Finalmente, el archivo más extraño, .spec.ts que contiene el código de las pruebas unitarias que puedes escribir para automatizar el testing en tu componente.
Angular también importará automáticamente el componente creado en el archivo app.module.ts para que automáticamente puedas utilizarlo en tu aplicación.
Observa lo más importante, el decorador @Component().
Los decoradores alteran el comportamiento de una clase en Angular, para que el compilador de TypeScript interprete el código de la manera correcta y sepa que una clase es:
un componente,
un módulo,
un servicio,
una directiva, etc.
Este decorador es quién enlaza el componente con el archivo HTML y la hoja de estilos, además le otorga al componente un selector o un nombre para utilizarlo en tus templates.
Contribución creada con los aportes de Kevin Fiorentino.
Si en algún caso, debes crear un componente muy básico, que no requiera un archivo de estilos, puedes añadir el flag "-is" que es "inline styles", esto hace que no se genere un archivo de estilos...
También puedes usar --skip-tests para no crear el archivo de pruebas en caso de que lo necesites... :D
Creo que estuvo muy bien el de fundamentos sin tocar estos temas, ayuda a que los que no conocemos el framework no nos agobiemos y podamos iniciar con cosas realmente básicas.
No tiendo porque habla de una clase de fundamentos si esta clase fue en el 2021 y la que esta abajo con el link de fundamentos es otra del 2023, si la que el menciona deberia ser del 2021 o menos, como el curso de fundamentos va ser despues del 2021 año de este curso
Estos cursos estan desactualizados, seguramente el se referia a un curso mas antiguo, lo mas seguro es que actualizaron el otro curso y dejaron este sin actualizar, el curso de fundamentos usa una version mas actualizada e incluso toca temas como signals, mientras que este no.
alguien sabe por qué cuando uso el comando Ng new nombre-del-proyecto no me pregunta si quiero routing ni me pregunta si quiero usar Sass less o ccs? simplemente inicia el proyecto con css y listo no me pregunta nada.
Es por las configuraciones por defecto que trae Angular en sus últimas actualizaciones. Ahora debes indicar si deseas el routing o los estilos que usaras en la misma línea de comandos
Ya trabajo con Angular pero en todo este tiempo no habían tenido la oportunidad de ver estos cursos, hasta ahorita! Entonces voy a tragarmelos todos en un poco tiempo para alcanzar a abarcar todo lo que pueda! Igual se me están haciendo faciles por lo mismo que ya he trabajado con esto
Tengan en cuenta que este curso salio en 2021, para esa fecha angular estaba en la version 13, actualmente (Dec 5, 2025) se encuentra en la version 21. . Con lo cual este curso esta obsoleto en terminos de la tecnologia que maneja, por lo cual les recomiendo prestar atencion a los fundamentos, ya que estos practicamente no cambian (Aunque cabe aclarar que si cambiaron un poco en Angular 17v cuando angular se volvio Standalone por defecto).
Si usan una version igual o superior a la 17, no les va a general el archivo "app.module.ts", tienen que agregar "--no-standalone" al comando de creacion de la app.
En mi caso la funcionalidad desfazada que encontré con esta clase es que no reconoce automaticamente el componente img.ts, me funciona sólo si realizo la importacion por codigo dentro del componente app.ts
Esto es importante de tener en cuenta, ya que puede causar confusión si se espera que Angular maneje automáticamente todos los componentes como solía hacerlo en versiones anteriores.
Como Angular no genera el modulo al que pertenece el componente, sino que el componente es Standalone, es el componente quien tiene que hacer las importaciones necesarias para su correcto funcionamiento.
Se me genero un inconveniente al momento de generar el componente, en donde me indicaba lo siguiente
More than one module matches.Use the '--skip-import' option to skip importing the component into the closest module or use the module option to specify a module.
Por alguna extraña razón no encontraba al archivo principal "app.module.ts" por ello es necesario que se especifique después del nombre del componente con "--module app" por ejemplo
Buenas, tengo la última versión de angular, al crear el componente en el archivo "ts" me sale sin el constructor ni el ngOnInit alguno sabe por qué y puedo corregir para que se me genere automáticamente.