Which one will I use for initializing data and why?
ngOnInit() {
this.type = 'category';
this.getData();
this.setData();
}
ionViewDidLoad() {
this.type = 'category';
this.getData();
this.setData();
}
ngOnInit
is a life cycle hook called by Angular2 to indicate that Angular is done creating the component.
ionViewDidLoad
is related to the Ionic's NavController
lifeCycle events. It runs when the page has loaded. This event only happens once per page being created.
Basically both are good places for initializing the component's data.
But for using ngOnInit
you need to implement the Angular's OnInit
class,
In the other hand ionViewDidLoad
could be only defined for components that are pushed/popped from a NavController
.
So I would say use the ionViewDidLoad
for components in the NavController
stack and ngOnInit
for other components.