Я интегрирую Mixpanel Analytics в свое приложение, и я хочу отслеживать каждое изменение состояния и иметь возможность отправлять некоторые дополнительные параметры. Было бы лучше, если бы было одно место для этого, а не добавление кода отслеживания для каждого контроллера.
Я хочу запустить что-то похожее на это:
mixpanel.track("Page Change", {"state":$state.current.name})
при каждом изменении состояния. Каков наилучший способ сделать это?
Лучший способ сделать это - это, вероятно, ui-router вещь, а не ионная вещь:
angular.module('myApp')
.run(function () {
$rootScope.$on('$stateChangeStart', function () {
// do thing
})
})
Поместите его в блок запуска, который будет запускаться при создании вашего приложения. Также существует событие $stateChangeSuccess
.
Изменение: я сказал, что это угловая вещь, но это ui-router вещь, но я думаю, что ионный использует ui-router по умолчанию.