[x] Documentation issue or request
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.
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()
https://stackblitz.com/edit/angular-ngonchanges
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()
.
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.
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.