路线更改时不会触发 routeChangeStart

routeChangeStart is not fired when route changed

我在下面有这个代码片段(离子框架),但是当我四处导航时 routeChangeStart 没有打印出来。

.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('$routeChangeStart', function(event, next, current) {
    console.info('[event] routeChangeStart...');
  });
})

我相信 ionic 框架正在使用 ui-router 而不是 ngRoute..所以按如下方式更改您的代码并尝试...

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

请查看以下内容link了解这些路由器模块之间的区别 http://www.amasik.com/angularjs-ngroute-vs-ui-router/