我将使用哪一个来初始化数据?为什么?
ngOnInit() {
this.type = 'category';
this.getData();
this.setData();
}
ionViewDidLoad() {
this.type = 'category';
this.getData();
this.setData();
}
ngOnInit
是一个生命周期挂钩,由Angular2称为Angular的生命周期挂钩,以指示创建组件的Angular。
ionViewDidLoad
与离子的NavController
生命周期事件有关。该页面已加载后运行。此事件仅发生一次每个页面。
基本上两者都是初始化组件数据的好地方。
但是,对于使用ngOnInit
,您需要实现Angular的OnInit
类,另一方面,ionViewDidLoad
只能针对从NavController
推出/弹出的组件来定义。
所以我会说使用ionViewDidLoad
用于NavController
堆栈中的组件,而ngOnInit
用于其他组件。
ionviewDidload射击与navcontroller相关。
如果您需要独立于NavController渲染的组件的挂钩(不是Ionic 2应用程序中的所有组件(,则应使用Angular Lifecycle Hook代替离子NavController钩。
。现在,哪一个适合您,这取决于实施情况。
无论如何,所有这些钩子的名称在大多数情况下都是不言自明的。
两个功能都以相同的方式工作,当视图最初加载到dom中时,它们会被调用。
关于Ionic2S生命周期钩的精彩博客。