2016-03-22 10 views
1

こんにちは私は角度アプリに問題があります。私は、サイドバーとトップバーを含むインデックスページを持っています。 ng-viewを使って、サイドバーでクリックした内容に基づいてコンテンツを読み込みます。ログインページが部分的に表示され、フルページではない

ただし、このページには認証が必要なため、ユーザーが認証されていないときにリダイレクトするログインページがあります。問題は、別のページにしたいときに、htmlがサイドバーとトップバーの部分としてロードされていることです。そう言ってください支援するために必要とされる

app.config(function ($routeProvider, $locationProvider) { 
    $routeProvider 

      // route for the home page 
      .when('/', { 
       templateUrl: 'partials/dashboard.html' 
         //controller: 'mainController' 
         //controllerAs: 'vm' 
      }) 
      .when('/login', { 
       templateUrl: 'login.html', 
       controller: 'LoginController', 
       controllerAs: 'vm' 
      }) 
      .otherwise({redirectTo: '/'}); 
    ; 
    $locationProvider.html5Mode(true); 
}); 

任意の追加コード:

は、ここに私のコードです! ありがとうございました!

+0

「htmlは部分的にロードされていますか?私はこのような同様のアプリケーションを開発しました。私はあなたを助けることができるかもしれません。 –

+0

ng-viewを持つ索引を持っていて、経路に応じてtemplateUrlを介して部分/テンプレートをロードします。私は/ loginルートを持っていて、まるで別のページにしたいときに、ログインページの "部分的なスポット"にロードします。 – Forget

答えて

1

問題がユーザーに表示されないようにするには、ログインする必要はありません。ブロックするときは、resolve関数で認証を追加してください。サイドバーとトップバーを持つビュー内にログインページを置くと、ユーザーは常にそれらのものを表示します。ユーザーがトップバーとサイドバーを見たくない場合はログイン用に別のページを作成し、ログイン成功時には自宅にルーティングします。

+0

これは問題の一部です。それは別のページで、私はそれを見せたいと思っています。しかし、私はそれを別のページにして、ログイン成功時に自宅にリダイレクトする方法を知らない。それで助けてくれますか? – Forget

+0

angular.run()では、デフォルトでログインページへの経路を指定します。ログイン時に、クッキーまたはストレージ内のユーザー名と暗号化されたパスワードを格納します。ログイン成功時にjsから家に帰る。すべてのルートで、ユーザーがそのページを使用できるかどうかを確認する '解決'機能を追加します。簡単なルーティングのためにUI-routerを使用してください。 '$ state.go( 'home')'。詳細および例については、Ui-routerのドキュメントを確認してください。 – Max

+0

ログインするにはどうすればよいですか? $ location.path( "/ login");を使用しているためです。それは部分的なスポット – Forget

関連する問題