2016-09-24 31 views
0

我将Mixpanel Analytics集成到我的应用程序中,我想跟踪每个状态变化并能够提交一些其他参数。如果只有一个位置可以执行此操作,而不是将跟踪代码添加到每个控制器,那最好。每个状态变化的离子运行函数

我想运行类似于这样:每次状态变化

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

。做这个的最好方式是什么?

回答

4

要做到这一点,最好的办法可能是一个UI路由器的事情,而不是一个离子的事:

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

把它放在一个运行块时你的应用实例化运行。还有一个$stateChangeSuccess事件。

编辑:我说这是一个角度的事情,但它是一个ui路由器的事情,但我认为离子使用ui路由器默认情况下。

+0

谢谢!这个技巧:) – dmonaldo

+0

可能需要注入$ rootScope到你的函数 – John

相关问题