2017-11-30 10 views
1

2ページまたはNページを後方にナビゲートする最も良い方法は何ですか?私はremoveメソッドを使用してポップしましたが、Nページ目に直接遷移し、ビューが逆方向に反復するのを一時的に見ることはしません。イオン3 - ナビゲートまたはポップバックNページ

+0

あなたがに移動したいページでは、*ルートですページ*(後ろの矢印は表示されません)? – sebaferreras

+1

これは正しいです –

答えて

1

あなたがに移動したいページがルートページあるので、rootとしてそのページを設定し、その推移をアニメーション化、このようなことができます:

// Will look like you're going to a new page 
this.navCtrl.setRoot(YourPage, {}, { animate: true, direction: 'forward' }); 

それとも

// Will look like you're returning to a previous page 
this.navCtrl.setRoot(YourPage, {}, { animate: true, direction: 'back' }); 

詳細情報:NavOptions docsあなたがこれを行うときにページのライフサイクルが再びあなたにルートを設定したページのコンストラクタを入力すると、リセットのようですので、私はこのソリューションを好まない


EDIT - それを防ぐ方法はありますか?その場合

、あなたが必要な場合にも、アニメーションを使用して、popToRootを使用することができます。

this.navCtrl.popToRoot({ animate: true, direction: 'forward' }) 

それとも

this.navCtrl.popToRoot({ animate: true, direction: 'back' }) 
+1

私はこのソリューションを好きではありません。これを行うとページのライフサイクルがリセットされているように見えます。つまり、ルートを設定したページのコンストラクタに再び入ります。 –

+0

@JayOrdwayうーん、そうだよ! '{animate:true、direction: 'back'}'を使って、** [popToRootメソッド](https://ionicframework.com/docs/api/navigation/NavController/#popToRoot)**を使うのはどうでしょうか? '{アニメイト:真、方向: 'フォワード'}'?これは次のようになります: 'this.navCtrl.popToRoot({animate:true、direction: 'back'})' – sebaferreras

+1

これは実際に私の質問に答えるが、popToRootまたはsetRootを使うとき、私のコールバック関数は動作しません。私は戻ってくるコンポーネントで、ポップ時にパラメータにアクセスできるようにするためにコールバックを渡しています。 popToRootでこれを行う方法はありますか?基本的に - popToRootを使用してNページに戻り、ルートページにパラメータを戻す方法はありますか? –

関連する問題