Component Lifecycle
- ngOnChanges - called when an input binding value changes
- ngOnInit - after the first ngOnChanges
- ngAfterContentInit - after component content initialized
- ngAfterContentChecked - after every check of component content
- ngAfterViewChecked - after every check of a component's view(s)
- ngOnDestroy - just before the component is destroyed
? from Component Lifecycle