问题描述
在我的 Ionic 5 项目中,我有 ngOnDestroy()
用于服务类来清理数据。我的主页上也有 ngOnDestroy()
。当我从主页到页面 A 并返回主页执行以下导航时,页面 A 的 ngOnDestroy()
正在触发。
- Home page -> Page A
- Home page <- Page A
问题是,当我关闭应用程序时,我希望主页上的 ngOnDestroy()
和所有服务类都被触发,但这并没有发生。我看到 Ionic 文档中提到了以下内容。
ngOnDestroy 只会在页面“弹出”时触发。
我检查过,当应用关闭时,即使 ionViewWillLeave
也不会在主页上触发。请建议我如何在主页和服务中进行清理活动?
解决方法
据我所知,对于网站,您可以使用窗口 beforeunload event,但它不能可靠地触发。
This post 的回答还建议您在应用程序中运行时在cordova 中使用beforeunload。