2016-09-22 9 views
0

私は、ユーザーが既に認証されているかどうかをチェックして新しいビューをプッシュする機能を持つルートコンポーネントとしてログインページを持っています。問題は、他のすべてのビューが下の画像のように重なり始めることです。私はこれを使用する場合 Here for imageIonic2 - ユーザーがルートコンポーネントに移動するたびにルートコンポーネント内の新しいページをプッシュする方法は?

すべてが正常に動作しますが、私はそれは、ユーザーがログインページに行くたびに実行する必要があります。

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

これは、ユーザーが毎回認証されているかどうかを確認するが、重複が発生します。誰かがなぜこれが起こるのか説明できますか?

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

答えて

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; 
    } 
} 
+0

お寄せいただきありがとうございます!私はこれを以前考えることができなかったと信じられない:) –

+0

母!それは起こる! ;-) –

関連する問題