【问题标题】:Ionic V4 ngOnDestroy in root page of app causing problems应用程序根页面中的 Ionic V4 ngOnDestroy 导致问题
【发布时间】:2019-02-13 00:31:00
【问题描述】:

我在 Ionic V4 应用程序的主页和第一个子路由中都有可观察的订阅。作为一种好的做法,我在两个页面中都使用 ngOnDestroy 方法,并在每个页面中分别取消订阅这些订阅。

我第一次离开主页返回时,主页中的ngOnDestroy方法被调用。随后,每当我离开主页时,都会调用 ngOnDestroy。但是,第一个子路由中的 ngOnDestroy 可以正常工作 - 我可以路由到后续子路由,并且当我返回时不会调用 ngOnDestroy,但是当我路由回家时,会运行第一个子 ngOnDestroy。

这在运行ionic serve 时不会出现太多,但是在进行 iOS 生产构建时,ionic cordova ios --prod --aot 并在我的 iSO 模拟器设备上运行时会出现此行为。

我之前曾问过related question,但似乎 ionViewDidLeave 即使在路由到子节点时也会运行,并且永远不会运行 ionViewDidLeave。 V4 documentation 建议还是使用 Angular 生命周期钩子。

对此有解释吗?我什至需要主页 ngOnDestroy 吗?感谢您的任何意见。

【问题讨论】:

    标签: angular ionic-framework


    【解决方案1】:

    看起来我的问题是我有 2 条通往主页的路线: {path: '', component: SlEventsComponent}, {path: 'sl-event', component: SlEventsComponent}, 我相信应用程序是在最初的路线上启动的,但是当我导航回来时,我去了 sl-event。

    我刚刚删除了 sl-event 路由,看起来和我预期的一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 2021-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多