Ionic 运行 每次状态变化时的函数

Ionic Run Function on Every State Change

我正在将 Mixpanel Analytics 集成到我的应用程序中,我想跟踪每个状态变化并能够提交一些额外的参数。最好有一个位置来执行此操作,而不是将跟踪代码添加到每个控制器。

我想要运行类似这样的东西:

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

在每次状态更改时。执行此操作的最佳方法是什么?

最好的方法可能是 ui-路由器,而不是离子:

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

将它放在一个 运行 块中,当您的应用程序实例化时,该块将 运行 。还有一个 $stateChangeSuccess 事件。

编辑:我说这是 angular 的东西,但它是 ui-router 的东西,但我认为 ionic 默认使用 ui-router。