应用根页面中的Ionic V4 ngOnDestroy导致问题

时间:2018-09-07 16:04:43

标签: angular ionic-framework

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

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

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

我之前曾问过一个related question,但似乎即使在路由到子节点时也不会运行ionViewDidLeave,但ionViewDidLeave仍在运行。 V4 documentation建议始终使用角度生命周期挂钩。

对此有解释吗?我是否还需要主页ngOnDestroy?感谢您的投入。

1 个答案:

答案 0 :(得分:0)

好像我的问题是我有2条通往首页的路线: {path: '', component: SlEventsComponent}, {path: 'sl-event', component: SlEventsComponent}, 我相信该应用程序是从最初的路线开始的,但是当我导航回来时,我去了sl-event。

我刚刚删除了sl-event路由,看起来像我期望的那样。