Ionic2 - 每次用户转到根组件时如何在根组件中推送新页面?

Ionic2 - How to push a new page in root component every time a user goes to root component?

我有一个作为根组件的登录页面,它具有检查用户是否已经通过身份验证的功能,因此会推送一个新视图。问题是所有其他视图开始重叠,如下图所示。 Here for image

当我使用它时一切正常,但我需要它 运行 每次用户进入登录页面时:

ngAfterViewInit() {
    if(this.auth.authenticated()){
        this.navCtrl.push(HomePage);
    } 
}

这会检查用户是否每次都通过身份验证但会导致重叠。有人可以解释为什么会这样吗?

onPageWillEnter() {
        if(this.auth.authenticated()){
            this.navCtrl.push(HomePage);
        } 
}

如果我能给你一些建议:你不应该在你的情况下推送视图,而是直接更改 rootPage,这样你的应用程序将直接加载正确的视图。

要做到这一点非常简单,请转到您的 app.js

rootPage: any = null;

constructor(private platform: Platform) {
  platform.ready().then(() => {  
    if(this.auth.authenticated())
      this.rootPage = HomePage;
    else
      this.rootPage = Login;
  }
}