2015-08-30 25 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方法返回爲undefined的問題。我錯過了什麼嗎?

回答

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