ionic 4如何获得页面名称?

时间:2019-01-08 05:52:50

标签: ionic-framework ionic4

this.platform.backButton.subscribe(() => {
  // get current active page
  const view = ***NEED HELP HERE**;
  if (view.component.name === 'HomePage') {
    // Double check to exit app
    if (new Date().getTime() - lastTimeBackPress < timePeriodToExit) {
      navigator['app'].exitApp(); // Exit from app
    } else {
      this.presentToast('Press back again to exit App');
      lastTimeBackPress = new Date().getTime();
    }
  } else {
    // go to previous page
    this.nav.goBack();
  }
});

我试图在Ionic 4中使用backbutton事件,但是我无法在app.component.ts中获得当前页面或视图名称

1 个答案:

答案 0 :(得分:0)

goBack()使我失败了。 Ionic4使用navigationBack(url)。我一直在寻找goBack的替代品。不幸的是,goBack仍在代码库中,但未针对Ionic 4进行记录...并且它不适用于所有平台,并且我希望它会根据我阅读的文档消失。我尝试使用它,然后返回到NavigationBack(url)。

我一直在寻找一种非HTML方法以仅在没有导航堆栈的情况下提供defaultHref,因为没有goBack()很像带有defaultHref的离子后退按钮,但是我没有找到了。

因此,对于后退按钮,我已完成此操作(我有两个选项卡,即“主页”和“地图”):

private tab: string;

constructor(
  private navCtrl: NavController,
  private router: Router
) {
  const url = this.router.url;
  const urlParts = url.split('/');

  this.tab = 'home';
  if (urlParts.includes('map')) {
    this.tab = 'map';
  }

后来:

  this.navCtrl.navigateBack(`/tabs/${this.tab}`);

这种方法应该可以帮助您基于URL导航。根据有限的信息,这是我能给出的最佳答案。