Introducción a Angular y Fundamentos

1

Aprende Angular 17

2

Creando tu primer proyecto en Angular

3

Implementando estilos

4

Mostrando elementos

5

Property Binding en Angular

6

Event Binding: click y doble click

7

Event binding: keydown

8

Modelo de reactividad con Signals

9

Creando un Signal en Angular

Estructuras de control en Angular

10

Directivas de control

11

Uso de ngFor

12

ngFor para objetos

13

Update Tasks

14

Uso de ngIf

15

Uso de ngSwitch y ngSwitchDefault

16

Controlando un input

17

Manejo de formularios en Angular

Alistando tu aplicación para producción

18

Estilos al modo Angular

19

Clases en Angular

20

Editing mode

21

Estados compuestos con computed

22

Usando effect para localStorage

23

Uso de ngbuild

24

Despliegue con Firebase Hosting

25

Nueva sintaxis en Angular

26

Directivas @For, @switch

27

Migrando a la nueva sintaxis de Angular v17

Componentes Reutilizables y Comunicación

28

Construyendo un e-commerce en Angular

29

Componentes en Angular

30

Mostrando los componentes

31

Angular DevTools

32

Uso de Inputs en Angular

33

Uso de Outputs en Angular

34

Componentes para Producto

Ciclo de vida de los componentes

35

Ciclo de vida de componentes

36

Ciclo de vida de componentes: ngOnChanges

37

Ciclo de vida de componentes: ngOnInit

38

Detectando cambios en los inputs

39

Evitando memory leaks con ngDestroy

40

Audio player con ngAfterViewInit

41

Creando la página "about us" o "conócenos"

Mejorando la interfaz del producto

42

Creando componente de productos

43

Creando el Header

44

Creando el carrito de compras

45

Comunicación padre e hijo

46

Calculando el total con ngOnChanges

47

El problema del prop drilling

48

Reactividad con signals en servicios

49

Entendiendo la inyección de dependencias

Integración y Datos

50

Obteniendo datos una REST API

51

Importaciones cortas en Typescript

52

Pipes en Angular

53

Construyendo tu propio pipe

54

Utilizando librerías de JavaScript en Angular

55

Conociendo las directivas

56

Deployando un proyecto en Vercel

Enrutamiento y Navegación

57

Ruta 404

58

Uso del RouterLink

59

Vistas anidadas

60

Uso del RouterLinkActive

61

Detalle de cada producto

62

Obteniendo datos del producto

63

Galería de imagenes

64

Detalle de la galería

Perfeccionando tu e-commerce

65

Mostrando categorias desde la API

66

Url Params

67

LazyLoading y Code Splitting

68

Aplicando LazyLoading

69

Prefetching

70

Usando la nueva sintaxis de Angular 17

71

Lanzando tu aplicación a producción

You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
23 Hrs
36 Min
46 Seg

Ciclo de vida de componentes

35/71
Resources

What is the life cycle of a component in Angular?

Every component in Angular has a lifecycle, meaning that it goes through several events from the time it is created until it is destroyed. These events include its creation, update and eventual removal from the application. This understanding is crucial to manage component logic effectively and leverage Angular's capabilities for a seamless user experience.

How are lifecycle events developed?

The lifecycle of a component in Angular includes a specific set of events in order, such as constructor, ngOnChanges, ngOnInit, ngDoCheck, and finally ngOnDestroy. Here we break down these events:

  1. Constructor: this is the first method that is executed when creating a component. Although it is a place to initialize variables, it is important to note that any asynchronous actions should not be placed at this point, as it is not recommended. It is especially useful for assigning values directly and prior to rendering the component.

  2. ngOnChanges: Runs both before and during component rendering. It is useful to detect changes in the @Input and adapt the logic according to these variations.

  3. ngOnInit: Runs only once after the changes have been applied and just before the component is rendered for the first time.

  4. ngDoCheck: Provides an opportunity to detect and react to changes, to customize how the custom change detection works.

  5. ngOnDestroy: Invoked just before Angular destroys the component. This is the perfect place to unsubscribe and free up resources.

Implementing the lifecycle in an Angular component.

To experiment with these events, let's create a simple component called Counter and an About page containing it. Let's follow along with some practical steps:

Creating the Counter component.

To work with the lifecycle, let's set up two inputs(@Input) inside the component:

 {import { Component, Input } from '@angular/core';
@Component({ selector: 'app-counter', template: '<p>Counter component loaded!</p>'})export class CounterComponent { @Input() duration: number = 0; @Input() message: string = '';
 constructor() { console.log('Constructor executed.'); }
 ngOnChanges(changes: SimpleChanges) { console.log('ngOnChanges executed.', changes); }
 ngOnInit() { console.log('ngOnInit executed.'); }
 ngDoCheck() { console.log('ngDoCheck executed.'); }
 ngOnDestroy() { console.log('ngOnDestroy executed.'); } } }}

Key aspects when creating a component

  • Required Inputs: By default, duration is 0 and message is an empty string. TypeScript's inference engine helps to automatically detect their types.

  • Constructor Usage: Only direct values should be defined. Avoid any actions involving promises or asynchronous processes.

  • Change Tracking: Using ngOnChanges, you can identify which specifications have changed using the SimpleChanges object.

This knowledge of the lifecycle in Angular allows you to control when and how certain code segments are executed, optimizing the performance and logic of the component. With continued practice and debugging, they will become an essential tool in the development of complex applications. Go ahead and explore these concepts in your Angular projects!

Contributions 9

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

ng g c domains/shared/components/counter
ng g c domains/info/pages/about

Ciclo de vida de los componentes

  • constructor
  • ngOnChanges
  • ngOnInit
  • ngDoCheck
    • ngAfterContentInit
    • ngAfterContentChecked
    • ngAfterViewInit
    • ngAfterViewCheck
  • ngOnDestroy
El mejor profesor!
En esta clase faltó implementar el onChanges en la clase de la siguiente forma: `export class CounterComponent implements OnChanges {` `...` `}`
Sí, el `ngOnChanges` tampoco debe ser asíncrono. Este método se ejecuta antes de que un componente sea renderizado y se usa para detectar cambios en las propiedades de entrada. Si se usan operaciones asíncronas dentro de `ngOnChanges`, podría llevar a comportamientos inesperados en el ciclo de vida del componente. Mantener estas funciones sincrónicas asegura que los cambios se manejen de manera predecible y eficiente.
Implementar el método `ngOnChanges` en un componente de Angular es fundamental para detectar y responder a cambios en las propiedades de entrada. En el contexto de tu clase, podrías agregarlo de la siguiente forma: ```typescript export class CounterComponent implements OnInit, OnChanges { @Input() duration: number; @Input() message: string; ngOnChanges(changes: SimpleChanges) { console.log('Changes detected:', changes); } ngOnInit() { console.log('Component initialized'); } } ``` `ngOnChanges` se ejecuta cada vez que una propiedad de entrada cambia, permitiéndote reaccionar ante esos cambios. Esto es especialmente útil para actualizar el estado del componente basado en la entrada.

si en el constructor es solo de que debe iniciar con la aplicación, ya lo otro se carga desde ngOnInit y de acuerdo a la necesitad del aplicativo
buenísima la explicación!
¿Cuál sería la diferencia entre usar **ngOnChanges()** y los **signals**?, ¿Ambos funcionan de manera reactiva?. Gracias