2017-06-28 2 views
0

簡単な管理パネルを提供するためにng-adminを統合したアングルアプリで問題が発生しました。また、認証を統合し、現在のセッションがないときにログイン状態を指し示したいと思っています。ng-adminのUi-Routerの他のルール

Ng-adminは、ui-routerのそれ以外の方法で、ダッシュボードを直接指すように設定します。 私自身の$urlRouterProvider.otherwise(...)を設定しても、ui-routerに他の機能を使用させることができません。

私はこのようにそれを試してみました:任意のダッシュボード・コードがある前に、私は、ダッシュボードへの状態遷移を傍受したいと思います...

$urlRouterProvider.otherwise(function ($injector) { 
    console.log('Hello World?!'); 
    state.go('login'); 
}); 

しかしにconsole.logが印刷されることはありません実行し、ユーザーを最初にログインページにリダイレクトします。

ヒントやアイデアは大変ありがたいです。

+0

$ on( "stateChangeSuccess")を使用しようとしましたか? – hasan

+0

角度の設定フェーズでルーティング状態を設定しているので、これをどこに置くべきかわかりません...?これを 'angular.run(...)'ブロックで使用できますか? – Minato

+0

メインモジュールコントローラで使用できます – hasan

答えて

0

ありがとう@ user8175473正しい方向に私を向ける。

を使用して問題を解決しました.$on('$stateChangeSuccess)は、いくつかの状態コードが実行された後に呼び出されます。 event.preventDefault()が完全に状態遷移をキャンセルするために必要とされること

$rootScope.$on('$stateChangeStart', function(event, toState) { 
    if(toState.name !== 'login' && !service.isLoggedIn()) { 
     event.preventDefault(); 
     $state.go('login'); 
    } 
}); 

注。

関連する問題