2017-09-19 19 views
0

当我将console.log移动到rootscope.on上方时,它会打印它,但由于某些原因,就好像rootscope.on不是存在完全达到:

'use strict'; 

var app = angular.module('myApp', ["ui.router"]); 

app.config(function($stateProvider, $urlRouterProvider) { 

    $urlRouterProvider.otherwise('/login'); 

    $stateProvider 
    .state('app', { 
     template: "<ui-view></ui-view>", 
     abstract: true 
    }) 
    .state('app.login', { 
     url: '/login', 
     controller: 'loginCtrl', 
     templateUrl: 'content/auth/login.html', 
     requireLogin: false, 
     authorized: true 
    }) 

    .state('app.register', { 
     url: '/register', 
     controller: 'registerCtrl', 
     templateUrl: 'content/auth/register.html', 
     requireLogin: true, 
     authorized: true 
    }); 
}); 


app.run(function($rootScope, $state) { 

    $rootScope.$('$stateChangeStart', function(event, toState) { 

    console.log("redirecting"); 

    }) 

}); 
+0

你是不是叫'$ rootscope。$ on'? – Pytth

回答

0

你实际上并没有拨打$on

变化

$rootScope.$('$stateChangeStart', function(event, toState) { 

    console.log("redirecting"); 

    }) 

$rootScope.$on('$stateChangeStart', function(event, toState) { 

    console.log("redirecting"); 

    })