2016-09-24 3 views
0

私は自分のアプリにMixpanel Analyticsを統合しています。すべての状態変更を追跡し、いくつかの追加パラメータを送信できるようにしたいと思います。すべてのコントローラにトラッキングコードを追加するのではなく、1つの場所でこれを行うのが最善の方法です。各状態変化のイオン実行機能

mixpanel.track("Page Change", {"state":$state.current.name})

すべての状態変化について:

は、私がこれに似た何かを実行したいです。これを行う最善の方法は何ですか?

angular.module('myApp') 
    .run(function() { 
    $rootScope.$on('$stateChangeStart', function() { 
     // do thing 
    }) 
    }) 

アプリをインスタンス化するときに実行されますRUNブロックでそれを入れて:

答えて

4

これを行うための最善の方法は、おそらくUI-ルータのものではなく、イオン性のものです。 $stateChangeSuccessイベントもあります。

編集:私はそれは角度のあることだと言っていましたが、それはui-routerのものですが、イオンはデフォルトでui-routerを使用していると思います。

+0

ありがとうございます!それはトリックをしました:) – dmonaldo

+0

あなたの関数に$ rootScopeを注入する必要があります – John

関連する問題