ionic 4 routerOutlet.canGoBack()在使用navigationForward导航时返回false

时间:2019-09-28 07:04:30

标签: ionic-framework

我的离子应用程序中有一个按钮,可以从主页打开文章。我想让我的用户通过按设备后退按钮退出应用程序。但是当他们在文章页面上时,我希望它只需按返回按钮就可以返回首页。

我创建了一个自定义的backbutton事件来处理退出应用程序的功能。它可以从首页退出该应用。但是,当按文章页面上的“后退”按钮时,它不会导航回到首页,并且什么也没有发生。当按下返回按钮时,如何使它从文章页面返回首页?

在app.component.ts

this.platform.backButton.subscribeWithPriority(99, async () => {
  if (this.routerOutlet && this.routerOutlet.canGoBack()) {
      this.routerOutlet.pop();
  } else if (this.router.url === '/home') {
      navigator['app'].exitApp();
  }
});

我注意到从文章页面触发事件时this.routerOutlet.canGoBack返回false,因此不会触发routerOutlet.pop()。不确定这与我打开文章页面的方式有关吗?

这就是我打开文章页面的方式

viewArticle(articleId) {
  let navigationExtras: NavigationExtras = {
    state: {
      articleId: articleId
    }
  };
  this.navController.navigateForward(['/article'], navigationExtras);
}

0 个答案:

没有答案