2016-07-26 10 views
0

シナリオは単純ですが、角度を使用するローカルサイトがあります。私は私の州のプロバイダが私たちのルータの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'); 

に渡され、を持つ必要があります持っているもののスニペットがあり、あなたの実行機能に$stateParamsを注入する必要があります

+0

$ stateparamsをどこに注入しますか?あなたがstateChangeErrorについて話しているのであれば、それは決してそのイベントに当たっていないので、おそらくなぜ私がその余分な/を.goで見ることさえしなかったのでしょうか。 –

+0

実行関数angular.module( 'app')に注入する必要があります。run(['$ rootScope'、 '$ state'、 '$ stateParams'、 'service'、function($ rootScope、$ state、$ stateParams、service){ –

+0

これは本当に何もしませんでした。私は$ stateparamを一度も使用していなかったので、paramは実行定義からではなく、状態イベントから来ました。 –

関連する問題