从 ionic 2 的侧面导航菜单中切换应用程序页面时,后退按钮不可用

Back button is not available when teversing application page from side navigation menu in ionic 2

我正在开发一个 ionic 2 移动应用程序,我发现当我通过侧面导航面板访问一个页面时,它没有在特定页面上提供自动生成的后退按钮,而当我在正常遍历中转到该页面时一页一页地形成,然后该页面可以使用后退按钮。侧边导航面板菜单中的后退按钮如何获取,请指教

<ion-header>

  <ion-navbar color="primary">
  <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>dashboard</ion-title>
  </ion-navbar>

如果您在创建项目时创建了侧边菜单应用程序,您可以在app.component.ts

中看到以下代码
constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen) {
    this.initializeApp();

    // used for an example of ngFor and navigation
    this.pages = [
      { title: 'Home', component: Createpage}
    ];

  }

  initializeApp() {
    this.platform.ready().then(() => {
      // Okay, so the platform is ready and our plugins are available.
      // Here you can do any higher level native things you might need.
      this.statusBar.styleDefault();
      this.splashScreen.hide();
    });
  }

  openPage(page) {
    // Reset the content nav to have just this page
    this.nav.setRoot(page.component);
  }

正如您在 openPage 函数中看到的那样,它将页面组件设置为根,因此您看不到后退按钮,而是看到打开侧边菜单的汉堡包图标

现在

如果您仍然希望使用后退按钮从侧边菜单打开页面,您可以这样做

openPage(page) {
    // Reset the content nav to have just this page
    // we wouldn't want the back button to show in this scenario
    if(page.component == HomePage){
      this.nav.setRoot(HomePage);
    } else {
      this.nav.push(page.component);
    }
  }

在上面的代码中你检查它是否是后退按钮组件(你希望用后退按钮打开它),如果是真的你可以设置它 push 而不是 setRoot

评论以获取更多说明