2016-07-26 4 views
0

시나리오는 다소 단순합니다. 각도를 사용하는 로컬 사이트가 있습니다. 내 주 공급자가 ui router lib를 설정하도록했습니다.Angularjs ui-router 404가 평가되지 않음

http://localhost.com/#/lwejfpwef을 입력하면 내 다른 현명한 조항 인 '/ login'으로 올바르게 리디렉션됩니다.

그러나 입력하려고했는데 http://localhost.com/lwjpoifwef 내 모듈 구성에있는 이벤트를 실행하지 않습니다. 내가

  • $ stateChangeSuccess
  • $ stateChangeStart
  • $ stateChangeError을 시도
  • $ httpinterceptors

내가 잘못 뭐하는 거지 모르겠어요. 그것은 내가 거기에 넣은 중단 점 중 하나를 치는 것처럼 보이지 않습니다. 여기에 내가

angular.module('app').run(['$rootScope', '$state', 'service', function ($rootScope, $state, service) { 
    $rootScope.$on('$stateChangeSuccess', function (evt, to, params) { 
     alert('success'); 
    }); 

    $rootScope.$on('$stateChangeStart', function (event, to, params) { 
     alert('start'); 
    }); 
    $rootScope.$on('$stateChangeError', function (evt, toState, toParams, fromState, fromParams, error) { 
     $state.go('login'); 
    }); 

}]); 

angular.module('dealer-portal.core').config(CoreConfig); 

function CoreConfig($stateProvider, $urlRouterProvider, $httpProvider) { 
    $stateProvider 
     .state('login', { 
      url: '/login', 
      templateUrl: 'wwwroot/app/login/login.html', 
      data: { 
       displayName: 'Login' 
      } 
     }) 
     .state('home', { 
      url: '/home', 
      templateUrl: 'wwwroot/app/login/login.html', 
      data: { 
       displayName: 'Home' 
      } 
     }) 
     .state('error', { 
      url: '/login' 
     }); 

    $urlRouterProvider.otherwise('/login'); 
} 
+0

당신은 "otherwis e "를 $ stateProvider에 두었습니다. –

+0

사실 나는 또한 주사위를 사용하지 않았습니다. 그냥 곧바로 통과합니다. –

답변

0

$의 state.go은하지

$state.go('/login'); 

또한 국가 이름이 아닌 URL

$state.go('login'); 

전달하고 을해야 무슨의 조각이다, 당신은 당신의 뛰기 기능에서 를 주사 할 필요가있다

+0

$ stateparams를 어디에 넣으시겠습니까? 당신이 stateChangeError에 대해서 이야기하는 중이라면 아마 심지어 그 이벤트를 치지 않을 것입니다. 그래서 아마 내가 왜 그 여분의/.go를 보지 못했을까요. –

+0

실행 함수 angular.module ('app')에이를 삽입해야합니다. run ([ '$ rootScope', '$ state', '$ stateParams', 'service', function ($ rootScope, $ state, $ stateParams, service) { –

+0

정말 아무것도하지 못했습니다. $ stateparam을 사용하지 않았으므로 param은 실행 정의가 아닌 상태 이벤트에서 왔습니다. –

관련 문제