Ionic 4 : ngOnInit vs ionViewWillEnter



在使用 Ionic 4 创建混合应用程序时,使用 Angular Lifecycle Hook 或 Ionic Lifecycle Hooks 专门用于初始化哪个更好?

角度生命周期钩 - ngOnInit

ngOnInit() {
    this.getData();
}

离子生命周期钩 - ionViewWillEnter

ionViewWillEnter() {
    this.getData();
}

ionViewWillEnter — 进入页面时触发(如果它从堆栈返回时也是如此)

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

我认为一旦离子视图会进入更好

Ionic 4 迁移指南是这样说的:

在 V4 中,我们现在能够利用 角。但在某些情况下,您可能希望访问 当组件在其路由期间完成动画处理时触发的事件 改变。在这种情况下,ionViewWillEnterionViewDidEnterionViewWillLeaveionViewDidLeave 已从 V3 移植过来。 使用这些事件将动作与 Ionic 自己的动画协调起来 系统。

因此,如果可能的话,底线是更喜欢像ngOnInit这样的 Angular 生命周期钩子。唯一真正的例外是处理Ionics动画系统,例如检查组件是否已完成其进入动画。

在 Ionic 4 中,生命周期事件与角度生命周期事件相同。离子 3 生命周期事件在这里不起作用。

对于初始化,您必须使用

ngOnInit()

如果要在视图初始化后,

请更改

ionviewwillenter

ngAfterViewInit()

这将工作正常。

ngOnInit

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

离子视图将输入

如果您使用

ngOnInit()

则 API 数据无法正确加载和值未更新,所以我强烈建议

ionViewWillEnter()

相关内容

  • 没有找到相关文章

最新更新