2017-10-26 4 views
0

ローカルトランジションフックイベントが必要です。 コントローラがインスタンス化された例anguarl 1.63 ui-router 1.0ローカルトランジションフックのような効果

のために私は状態fooのからすべての遷移がfoo.barがログに記録される状態にしたいです。 Transition apiを見ると、UIルータabilitはグローバル移行フックでオンになっています。私はローカルでトランジションフックを達成したい、コントローラが破壊されたときにそのフックを破壊したい。

答えはトランジションフックでなければならず、コントローラが破棄されたときに破壊されるものであれば何でもかまいません。

$ transitionサービスですべてのバリエーションを試しましたが、役に立たなくなりました。誰にも何か提案はありますか?

+0

plnkrリンクやコードスニペットを追加できますか? –

+0

Plunkrを追加して、Transition Apiがグローバルに動作し、ローカルで動作しないことを示しますか? – gh9

+0

あなたはコントローラonInitでフックを作成し、それをonDestroyで破壊しようとしましたか? –

答えて

0
controller: ["$scope", "$transitions", function ($scope, $transitions) { 
      this.$onInit = function() { 
       $transitions.onSuccess({ to: 'Home.*' }, 
        function(transition) { 

         console.log('foo'); 
        }); 
       $transitions.onSuccess({ to: 'Home.*.*' }, 
        function(transition) { 

         console.log('bar'); 
        }); 
      }; 

      this.$onDestroy = function() { 
       $transitions.onSuccess({ to: 'Home.*' }, undefined); 
       $transitions.onSuccess({ to: 'Home.*.*' }, undefined); 

      } 



     }] 

コントローラ用のonInit、onDestroyを使い終わった。このようにして私のフックは私が彼らと一緒にやった後に破壊されました。

関連する問題