2017-03-03 8 views
0

ページが前方または後方のナビゲーションから見えるかどうかを区別するにはどうすればよいですか。私はそれが前方ナビゲーションである場合のみ、いくつかのコードを実行したい。は、ページ上での前後のナビゲーションを区別します。Ionic2

+0

コンストラクタでそのコードを実行するとどうなりますか?あなたがそのページに戻って、それがルートとして設定する代わりに 'push'すると仮定した場合、ユーザーがそのページに移動するたびに実行されます。 – sebaferreras

答えて

0

ケース1: - 1ページから別のページにナビゲートしているとします。 - 転送します。私。 navCtrl.push(Page,params)を使用してください。

ここにコードをconstructor(){}に入れることができます。 コンストラクタ内のコードは、ページを押す/移動すると常に実行されます。は(むしろプッシュよりも、あなたはまた、これは、その後も有効であるrootpageにスタックをリセットすることができます。)

CASE 2: - 後方 -は、あなたが戻っページからナビゲートしていると言います。私。アプリ内でユーザーが手動で戻るか、navCtrl.pop()を使用してください。

ここには、NOTがあります。バックページでナビゲートしたかどうかを確認するための組み込みの方法です。ここでは、独自のロジックを構築する必要があります。

たとえば、PageA - > PageBはあなたのナビゲーションです。私はPageA - > PageBからナビゲートするときにlocalStorage変数を何らかの値に設定するために使用しました(例えばlocalStorage.setItem('isPushed',true))。特定のページをナビゲートしたとき

ionViewWillEnter(){ 
    if(JSON.parse(localStorage.getItem('isPushed')){ 
     localStorage.setItem('isPushed',false); 
     // Your Code to be executed when entering to back page. 
    } 
} 

ionViewWillEnter()が常に実行されます:

さて、ページAに私がionViewWillEnter()を使用してこのコードを書かれています。私の考えは、次のページから後ろのページにナビゲートするかどうかを検出することです。お役に立てれば。 :)

注:私はこれに関連するすべての条件を処理していません。あなたはそれを解決しなければなりません。これは単なる論理の考え方です。

関連する問題