2016-05-26 10 views
-1

私は次のようなシナリオがあります:ui-routerは移行情報を取得します

解決フェーズ中に、リフレッシュ時に依存関係の一部が失敗することがありました。 $ rootScopeServiceのエラーをキャッチして正常に処理する間に、ある状態から別の状態への移行中に失敗した($ exceptionHandlerサービスのデコレータ実装の中で)以前のことを知っておく必要があります。

$状態サービスは、残念ながら解決が成功した後に移入されるため、私はそれを使用できません。

既に実装されているものはありますか?

私の現在の考えは、$ stateサービスを装飾して、go関数を使って追跡するか、単に$ stateイベントをリッスンして値を設定することです。

これを実現するロジックは既に実装されていますか? (私は図書館でのことを意味します)、またはこれに関する他の提案はありますか?

おかげ

答えて

1

これは貧乏人の解決策になるかもしれませんが、あなたのような何かを使用することができます

$rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams, $rootScope) { 
    $rootScope.targetState = toState }) 

$rootScope.$on('$stateChangeSuccess', 
    function(e, toState, toParams, fromState, fromParams, $rootScope){ 
     $rootScope.targetState = undefined }) 

をしてからお使いの解決機能の中に、のようなものを経由して目的の状態にアクセス:

function myResolve($rootScope) { 
    console.log($rootScope.targetState) 
} 

私はこれが私のアプリで働いています。状態変更の監視は、アプリの実行ブロックで実装されています。

+0

どのようにしてtoStateパラメータにアクセスしますか。 –

+0

回答を編集中です。それは国家の成功であり、完了していない。 –

+0

これは私が既に提案した解決策です。 toStateは存在せず、ある種の拡張が行われる必要があります。いずれにせよ、その答えは質問自体にはすでに述べられているので、質問とは無関係です。 –

関連する問題