我有一个Ionic v4页面,它为我的应用程序配置了许多参数,我想在我离开页面之前将所有这些值填充到注入的服务中,以便它们可以在应用程序的其他地方使用。我使用Ionic Tabs Control / Page进行导航。
在离开当前页面之前捕获事件的最佳方法是什么?
我曾经尝试过@angular/router
NavigationStart
事件,但一旦连接起来,它就会在所有页面转换时触发,我无法判断何时离开所需的配置页面。或者我应该使用旧的Ionic v3 NavControl?
或者我应该只是更新我的配置服务的所有变化,而不是担心离开页面?
2条答案
按热度按时间unhi4e5o1#
你可以使用ngOnDestroy生命周期钩子,当用户离开视图时,它将被挂起,即组件将被销毁。
字符串
对于Ionic 4,当我们导航到另一个视图时,默认情况下ngOnDestroy不会被取消订阅。您可以使用ionViewWillLeave/ionViewDidLeave来处理可观察到的取消订阅。
通过使用**this.nav.navigateRoot(“/dashboard ']);**组件将被销毁,ngOnDestroy将被删除。
jtjikinw2#
如果可以的话,我会删除我最初的问题,但我不能。这些问题都是Beta 16的问题,现在我已经升级到RC 0,问题已经解决了。看起来我所做的一切都是正确的,但显然有导航相关的错误。