(Angular Lifecycle Hooks)
ngOnInit() - Called once when component starts up after ngOnChanges and initial values have been set.
ngDoCheck() - Allows you to act on changes the Angular won't / can't detect.
ngAfterContentInit() - Called after displays content content into the component's view / the view that a directive is in.
ngAfterContentChecked() - Called after Angular change detector checks the content projected into the directive/component.
ngAfterViewInit() - Called after Angular checks and initializes the component's views and child views / the view that a directive is in.
ngAfterViewChecked() - Called after Angular checks the component's views and child views / the view that a directive is in.
ngOnDestroy() - Called just before Angular destroys the directive/component. Unsubscribe Observables here and detach event handlers to avoid memory leaks.