2016-04-28 3 views
0

私はRoutingを処理するためにAngularJSアプリケーションにangle-ui-routerを構築しています。ログイン機能とそのテンプレートをng-viewディレクティブから分離することはできますか?

ログイン機能とテンプレートをng-viewディレクティブから完全に分離することができるのだろうかと思っているので、残りのレイアウトはユーザーが認証される前に表示されません。

これが現在の設定です: 1]

これを行う方法上の任意のアイデア?

ありがとうございます! UI-ルータを使用して

答えて

0

うんこのようなさまざまな状態を作り出す宣言:

.state('login', { 
      url: '/login', 
      controller: 'LoginController', 
      templateUrl: 'app/views/login.html', 
      }) 
.state('stateNameIfLoggedIn', { 
      url: '/dashboard', 
      controller: 'DifferentController', 
      templateUrl: 'app/views/differentTemplate.html', 
      userLoggedIn: true 
      }) 

あなたLoginControllerチェックでは、ユーザは、現在、このような異なる状態に彼をリダイレクトし、ログインした場合:

//controller code starts 
if(userLoggedIn === true){ 
    $state.go('stateNameIfLoggedIn') 
} 
+0

私のapp.routesに設定がありますが、これはng-viewからログインテンプレートを分離しません。ログイン状態になると、レイアウト全体が表示されます。 – Mortenkp25

+0

Ui-routerでは、ng-viewディレクティブの代わりにui-viewディレクティブを使用してネスト状態を作成する必要があります。 –

0

ものは、あなたが何かをチェックして、ルートを制御することができますテンプレート+コントローラでルートを表示する前にrouteProvierとです。

'use strict' 

intranet 
.config ($routeProvider) -> 
    $routeProvider 
    .when '/page1', 
     templateUrl: 'views/page1.html' 
     controller: 'Page1Ctrl' 
    .when '/page2', 
     templateUrl: 'views/page2.html' 
     controller: 'Page2Ctrl' 
    .otherwise 
     redirectTo: '/' 
.run ($rootScope,Token,$location) -> 
    $rootScope.$on '$locationChangeStart', -> 
    Token.check() 
    $rootScope.active_menu = $location.path() 

トークンをチェックしている私のトークンプロバイダ。

'use strict' 
intranet 
.provider 'Token', -> 
    @$get = ($location,$http,$q,$rootScope) -> 
    check:()-> 
     if localStorage['access_token'] 
     $rootScope.loginMade = true 
     else 
     $rootScope.loginMade = false 
     $location.path '/login' 

これはショーのコンテンツではなく、私のインデックスです。

<header-app></header-app> 
    <sidebar-app></sidebar-app> 
    <!-- Add your site or application content here --> 
     <div ng-view="" class="container" ng-class="{container_login : loginMade == false}"> 
     </div> 
     <footer-app></footer-app> 
関連する問題