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

Ionic Run Function on Every State Change

本文关键字:运行 函数 状态 变化      更新时间:2023-09-26

我正在集成Mixpanel分析到我的应用程序,我想跟踪每一个状态的变化,并能够提交一些额外的参数。如果有一个单独的位置来做这件事,而不是将跟踪代码添加到每个控制器中,那将是最好的。

我想运行类似这样的代码:

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

在每个状态变化上。最好的方法是什么?

最好的方法可能是一个ui-router的东西,而不是离子的东西:

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

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

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