Angular 2/4 @input Only Moves Intrinsics - Not Lists Or Objects
Solution 1:
TL;DR: Dont access @Input parameters in construcor. Use ngOnInit if you don't use async pipe and use ngOnChanges if you do use async pipe.
You are trying to access @Input properties too early in Angulars component Lifecycle. Constructor is not the lifecycle hook itself and its not a place to access @Input parameters.
Generally about hooks: https://angular.io/guide/lifecycle-hooks
As that page say:
The constructor isn't an Angular hook per se. The log confirms that input properties (the name property in this case) have no assigned values at construction.
You should wait at least for ngOnInit() and access it there although there are more considerations about it here:
https://angular.io/guide/reactive-forms#when-to-set-form-model-values-ngonchanges
Namely, even in ngOnChanges, although it fires first time before ngOnInit, when using aysnc pipe you still might not have data in ngOnInit. So, as a safest and standard way, you should access your @Input in ngOnChanges and inspect its parameters to filter those @Input parameters that are of your interest at the moment.
Post a Comment for "Angular 2/4 @input Only Moves Intrinsics - Not Lists Or Objects"