如何正确隐藏登录页面的ionic2标签?

How to hide ionic2 Tabs just for login page properly?

这是我想要实现的目标,我想将 Tabs 组件添加到我的项目中,但我不希望在我登录到页面的其余部分之前显示该选项卡。我的做法是这样的:

我的 app.component.ts :

export class MyApp {
  public rootPage: any = TabsPage;

  constructor(platform: Platform) {

    if (localStorage.getItem("currentUser") === null) {
      console.log("not logged in");
        this.rootPage = LoginPagePage;
    } else {
      console.log("already logged in");
        this.rootPage = TabsPage;
    }

    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.
      StatusBar.styleDefault();
      Splashscreen.hide();
    });
  }
}

下面是我的 tabs.ts :

export class TabsPage {

  public tab1Root: any;
  public tab2Root: any;
  public tab3Root: any;

  constructor() {
    this.tab1Root = HomePage;
    this.tab2Root = AboutPage;
    this.tab3Root = ExplorePage;
  }

}

那么这是我的 tabs.html :

<ion-tabs>
  <ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab>
  <ion-tab [root]="tab2Rsoot" tabTitle="About" tabIcon="information-circle"></ion-tab>
  <ion-tab [root]="tab3Root" tabTitle="Contact" tabIcon="contacts"></ion-tab>
</ion-tabs>

当我这样做时,第一次加载时它看起来很正常,但没有显示标签。然后在我登录后,我设置

this.navCtrl.setRoot(HomePage);

在我的登录功能中,但是当我已经登录时选项卡没有显示,除此之外,我必须刷新页面才能显示 "tabs"。它发生在我注销的时候..如何解决这个问题?我希望在除登录页面之外的每个页面中显示选项卡

登录成功后一切正常尝试做

改变这个

this.navCtrl.setRoot(Homepage,{})

至此

this.navCtrl.setRoot(TabsPage,{})

一切正常,别忘了在登录页面中导入标签页