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

时间:2016-09-22 17:55:11

标签: angular ionic2

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

如果我可以向您推荐一些内容:您不应该在您的情况下推送视图,而是直接更改rootPage,这样您的应用就会直接加载正确的视图。

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

rootPage: any = null;

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