Ionic / Angular Leave Page事件

ehxuflar  于 12个月前  发布在  Ionic
关注(0)|答案(2)|浏览(118)

我有一个Ionic v4页面,它为我的应用程序配置了许多参数,我想在我离开页面之前将所有这些值填充到注入的服务中,以便它们可以在应用程序的其他地方使用。我使用Ionic Tabs Control / Page进行导航。
在离开当前页面之前捕获事件的最佳方法是什么?
我曾经尝试过@angular/routerNavigationStart事件,但一旦连接起来,它就会在所有页面转换时触发,我无法判断何时离开所需的配置页面。或者我应该使用旧的Ionic v3 NavControl?
或者我应该只是更新我的配置服务的所有变化,而不是担心离开页面?

unhi4e5o

unhi4e5o1#

你可以使用ngOnDestroy生命周期钩子,当用户离开视图时,它将被挂起,即组件将被销毁。

**Service:**

clearData(){
  //write logic to clear data
}

**Component:**

@Component({..})
export class MyComponent implements onDestroy{

ngOnDestroy(){
  this.service.clearData();
}

字符串
对于Ionic 4,当我们导航到另一个视图时,默认情况下ngOnDestroy不会被取消订阅。您可以使用ionViewWillLeave/ionViewDidLeave来处理可观察到的取消订阅。
通过使用**this.nav.navigateRoot(“/dashboard ']);**组件将被销毁,ngOnDestroy将被删除。

jtjikinw

jtjikinw2#

如果可以的话,我会删除我最初的问题,但我不能。这些问题都是Beta 16的问题,现在我已经升级到RC 0,问题已经解决了。看起来我所做的一切都是正确的,但显然有导航相关的错误。

相关问题