2016-03-22 6 views
0

ログイン後にどのルートに向かうかを決定するauth.jsページがあります。私はルーティングのためにui-routerを使用しています。ログインユーザーの詳細がキャプチャされた後、それに応じてルートが変更されます。 '/ダッシュボード'を '/'にしてEnterキーを押すと、サインインページが表示され、ダッシュボードにリダイレクトされます。私は '/ダッシュボード'から '/'に移動すると自動的にダッシュボードページに移動します私はこれをどうやって達成するのですか?あなたのauth.jsで事前最初にサインインした後、自動的に '/'ルートからメイン '/ダッシュボード'ルートにページをリダイレクトする方法は?

+1

(そこに資格情報をチェックして、ログインしていない場合/loginにリダイレクトを送信してください。)バックエンドによって維持loginルート/ロジックを持つお勧めし、ログインした場合チェックしますダッシュボードにリダイレクトする必要があります。 – AceLearn

+0

@ Trying2Learn私は角度のjsに新しいですが、私はこれで間違っているかもしれませんが、ng-showを通じてブーリアン値を初期化するためにコントローラを使用しています。ブール値はそれに応じてマークアップを確認して表示します –

+0

私の答えを確認してください。これが参考になることを願っています。 – AceLearn

答えて

0

おかげで、ユーザーサインイン(ユーザーサインインの成功の後、コールバック)

//In SignIn success callback. 

$state.go('dashboard');//for state 
$location.path("/dashboard");//for url dashboard 

は、それはあなたがこの問題に対処するために決意を使用することができます

+0

$ location.pathを使用するとほとんどの場合URLがすぐに変更されますが、ユーザーが解決されたときにのみページが変更されます。意図していないものは3〜5秒かかります。 ) –

+0

はい。ユーザーが成功コールバックを解決するときに '$ location.path'を呼び出すことができます。 –

0

のお役に立てば幸いとき。 "/"ページにリダイレクトしているとき。ユーザーがログインしているかどうかにかかわらず、解決セクションをチェックインするだけです。ユーザーがログインしている場合は、ダッシュボードページにリダイレクトします。

0

最初にサインインページを表示してから、ダッシュボードにリダイレクトします。「/ダッシュボード」から「/」に移動すると、サインインすることなく自動的にダッシュボードページに移動しますどのように達成するのですか

本当にあなたのコードに依存します。私はあなたがログインページでNG-のinitを持つことができます

0
<!--HTML code--> 
<div ng-init="CheckIfLoggedIn()"> 
    <form id="login-form"> 
    .............. 
    </form> 
</div> 

//in angular JS 
$scope.CheckIfLoggedIn = function(){ 
    if (loggedinuser){ 
     $location.path("/dashboard"); 
    } 
}; 
+0

コントローラでブール値でほぼ同じことをやっています:)しかし、問題は解決しました。私はサインインとダッシュボードのルートを設定していたメインルータファイルを変更しなければなりませんでした:) –