2016-08-31 17 views
1

履歴から特定のビュー、特にforwardViewを削除する必要があります。 - > ion3 - >(stateParam Aがビューに送信された)ion5 - > ion3 - >(stateParam Bがビューに送信された)ion5 - > ion7 - > ion5
ION1: マイ状況/ナビゲーションはこれですここでは、履歴から前のion5ビュー(stateParam Aを使用)で終了します。
ion5でキャッシュされたビューを使用するとこの問題は表示されませんが、他の理由でここでキャッシュビューを使用することはできません。
イオンの履歴から前方ビューを削除する

私がやりたかったのは、ion3に戻って初めて履歴スタックからforwardView(ion5)を削除することです。新しいion5 *(これは他の数値を取得しますが、参照用に表示されます)ビューは正しいstateParam歴史に保存されています。それから私がion7にナビゲートして帰ってきたら、正しいイオン5 *が歴史から回復されます。

removeBackViewはここには適用されず、場所も置き換えられます。

答えて

0

私はこの質問がほぼ一歳であることを認識していますが、私はちょうど同様の問題に遭遇したので、私はそれに答えると思っていました。 $ionicView.afterLeaveを使用し、到着したビューを$ionicHistory.currentStateName()にチェックすることをお勧めします。

条件が満たされたら、$ionicHistory.clearHistory()を使用して前方ビュー(バックビューと同様)を削除できます。これは$stateParamsには影響しません。悲しいことに、前方ビューのみを削除する方法はありません。バックビューも削除する必要があります。

私はあなたの状況に例を書きしようとするでしょう:

$scope.$on('$ionicView.afterLeave', function(event, data) { 
    if ($ionicHistory.currentStateName() === 'ion3') { 
     $ionicHistory.clearHistory(); 
    } 
}); 
:ion5のコントローラーで

関連する問題