Angular: En los documentos de Lifecycle Hooks, no está claro que no se llame a ngOnChanges cuando no se utilizan entradas

Creado en 27 mar. 2018  ·  1Comentario  ·  Fuente: angular/angular

Estoy enviando un ...

[x] Documentation issue or request

Comportamiento actual

La página de ngOnChanges() :

llamado antes de ngOnInit() y siempre que una o más propiedades de entrada vinculadas a datos cambien

y esto sobre ngOnInit() :

llamado [...] después del primer ngOnChanges()

No queda claro a partir de esa descripción que ngOnChanges() _no_ se llamará si el componente se usa _sin_ proporcionar ninguna entrada.

Comportamiento esperado

La documentación debe ser más clara sobre el comportamiento de ngOnChanges() : específicamente, si un componente tiene entradas declaradas pero no se utilizan, entonces ngOnChanges() _no_ se llamará antes de ngOnInit()

Reproducción mínima del problema con instrucciones.

https://stackblitz.com/edit/angular-ngonchanges

¿Cuál es la motivación / caso de uso para cambiar el comportamiento?

A juzgar por los documentos, uno puede tener la impresión de que ngOnChanges() siempre se llamará primero antes de ngOnInit() para un componente con entradas, incluso si esas entradas no son utilizadas por la plantilla / componente principal.

Esto puede llevar a errores accidentales no tan obvios, como eliminar ngOnInit() si duplica la lógica de inicio de un componente de ngOnChanges() .

docs feature medium

Comentario más útil

Esto también me sorprendió.

La documentación realmente da la impresión de que ngOnChanges es un requisito para la activación de ngOnInit, tampoco deja en claro que ngOnChanges puede no activarse en absoluto si no hay datos vinculados. Cuando en realidad, se trata simplemente de representar el orden en que se llaman, no que estén relacionados entre sí y que se activen o no.

Sería genial tener esto aclarado.

>Todos los comentarios

Esto también me sorprendió.

La documentación realmente da la impresión de que ngOnChanges es un requisito para la activación de ngOnInit, tampoco deja en claro que ngOnChanges puede no activarse en absoluto si no hay datos vinculados. Cuando en realidad, se trata simplemente de representar el orden en que se llaman, no que estén relacionados entre sí y que se activen o no.

Sería genial tener esto aclarado.

¿Fue útil esta página
0 / 5 - 0 calificaciones