离子4:ngOnInit与ionViewWillEnter

时间:2019-01-21 17:56:02

标签: angular ionic-framework ionic4 angular-lifecycle-hooks

使用Ionic 4创建混合应用程序时,哪种方法更适合专门用于初始化的Angular Lifecycle Hook或Ionic Lifecycle Hook?

角度生命周期挂钩-ngOnInit

ngOnInit() {
    this.getData();
}

离子生命周期挂钩-ionViewWillEnter

ionViewWillEnter() {
    this.getData();
}

5 个答案:

答案 0 :(得分:2)

Ionic 4 migration guide这样说:

  

借助V4,我们现在能够利用由   有角度的。但是在某些情况下,您可能需要访问   组件在其路线中完成动画制作时触发的事件   更改。在这种情况下,ionViewWillEnterionViewDidEnter,   ionViewWillLeaveionViewDidLeave已从V3移植过来。   使用这些事件来与Ionic自己的动画协调动作   系统。

因此,最重要的是,尽可能使用{strong>像ngOnInit这样的Angular生命周期挂钩。唯一真正的例外是处理Ionics动画系统,例如检查组件是否已完成进入动画的过程。

答案 1 :(得分:0)

ionViewWillEnter -在进入页面时触发(同样是从堆栈返回的页面)

ngOnInit ,如果您将其放入堆栈后返回到页面,则不会被触发

一旦 ionviewwillent

我想更好

答案 2 :(得分:0)

在Ionic 4中,生命周期事件与角度生命周期事件相同。 离子3生命周期事件在这里无效。

对于初始化,您必须使用

ngOnInit()

如果要在视图初始化之后

请更改

ionviewwillenter

ngAfterViewInit()

这会很好。

答案 3 :(得分:0)

ngOnInit

在组件初始化期间触发一次。此事件可用于初始化本地成员并调用仅需要执行一次的服务。

ionViewWillEnter

答案 4 :(得分:0)

如果你使用

<块引用>

ngOnInit()

然后 API 数据加载不正确 并且值没有更新,所以我强烈推荐

<块引用>

ionViewWillEnter()