2015-08-30 1 views
0

Итак, у меня есть эта функция для обработки ошибок маршрутизации:

angular.module('player-tracker').run(['$rootScope', '$location', function($rootScope, $state) { 
    $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, rejection) { 
     if (rejection === 'AUTH_REQUIRED') { 
     $state.go("/home"); 
     } 

    }); 
}]); 

Не очень сложным, я знаю.

Но всякий раз, когда я запускаю его, возникает проблема, что метод $ state.go возвращается как неопределенный. Я что-то упускаю?

ответ

0

Если вы собираетесь явно ввести $ state, вы должны включить его как в массив, так и в аргументы функции, а не только в последнюю.

angular.module('player-tracker').run(['$rootScope', '$state', function($rootScope, $state) { 
    $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, rejection) { 
     if (rejection === 'AUTH_REQUIRED') { 
     $state.go("/home"); 
     } 

    }); 
}]); 
+0

Я пробовал, все еще говорит, что $ state.go не является функцией. – rPaskiewicz

+0

Ediit: Удар по серверу узлов был запущен .... и он сработал. Как странно. – rPaskiewicz