2015-12-03 3 views
2

Как я могу запускать кусок кода при каждом изменении маршрута? Кажется, я не могу найти событие для привязки кода.Ionic - событие изменения маршрута

Мне нужно, чтобы это произошло глобально во всем приложении.

ответ

6

Использовать $routeChangeStart для Ionic - событие изменения маршрута. Будет транслироваться до изменения маршрута. На этом этапе службы маршрутизации начинают разрешать все зависимости, необходимые для изменения маршрута.

Событие под названием $routeChangeSuccess Трансляция после изменения маршрута прошла успешно. Зависимости разрешений теперь доступны в текущем . См. this для получения более подробной информации.

Как использовать $ routeChangeStart в ионном?

app.js

.run(function($ionicPlatform, $rootScope, $location) { 
     $ionicPlatform.ready(function() { 
      if (window.cordova && window.cordova.plugins.Keyboard) { 
       cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
      } 
      if (window.StatusBar) { 
       StatusBar.styleDefault(); 
      } 
     }); 

     $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { 
      //print here 
     }); 
}) 
+0

Великий, работал отлично! – Rich

+0

@Rich: Рад помочь вам – Muhsin

+0

Подождите, что '$ stateChangeStart' или' $ routeChangeStart'? –