我的Ionic V4应用程序的首页和第一个子路径中都有可观察到的订阅。作为一种好习惯,我在两个页面中都使用ngOnDestroy方法,并且分别在每个页面中取消订阅这些订阅。
我第一次离开首页返回时,会调用首页中的ngOnDestroy方法。随后,无论何时我离开主页ngOnDestroy都被调用。但是,第一个子路径中的ngOnDestroy可以正常工作-我可以路由到后续子路径,并且当我返回ngOnDestroy时不会被调用,但是当我路由回家时,第一个子路径ngOnDestroy将运行。
在运行ionic serve
时,这看起来并不多,但是,在进行iOS生产构建ionic cordova ios --prod --aot
并在iSO模拟器的我的设备上运行时,会出现这种情况。
我之前曾问过一个related question,但似乎即使在路由到子节点时也不会运行ionViewDidLeave,但ionViewDidLeave仍在运行。 V4 documentation建议始终使用角度生命周期挂钩。
对此有解释吗?我是否还需要主页ngOnDestroy?感谢您的投入。
答案 0 :(得分:0)
好像我的问题是我有2条通往首页的路线:
{path: '', component: SlEventsComponent},
{path: 'sl-event', component: SlEventsComponent},
我相信该应用程序是从最初的路线开始的,但是当我导航回来时,我去了sl-event。
我刚刚删除了sl-event路由,看起来像我期望的那样。