2017-03-20 16 views
0

私は、webservicesを使用してアプリケーションの1つの管理サイドページを作成するためにangularjsを使用しています。 ログイン時にセッションを使用して値を保存すると、ログインAPIから取得されます。値は$localstorage.tokenおよび$#localstorage.currentUser に格納され、$localstorage.currentユーザはユーザの詳細を表示するためにホームページで使用されます。詳細は、そのアカウントにログインした後にページ全体を更新した後にのみ表示されます。手動でページを更新せずにデータを取得する方法はありますか?私の経験では、事前Angularjsのセッション処理

+0

いくつかのコードを教えてください。 –

+0

htmlとlocalstorageと角度範囲の関係を表示するために使用するコードを共有できますか? –

+0

リプレイのためにコードスニペット – Pillai

答えて

0

の私のコントローラ内の私のインデックスページ、

  <ul class="dropdown-menu dropdown-menu-right"> 
       <li class="dropdown-header"> 
       {{currentUserDetails.user.full_name}} 
       </li> 
       <li class="divider"></li> 
       <li class="link"> 
       <a href="#"> 
        Profile 
       </a> 
       </li> 

       <li class="divider"></li> 
       <li class="link"> 
       <a href="" ng-click="logout()"> 
        Logout 
       </a> 
       </li> 
      </ul> 

  if(response){ 
       $localStorage.LoggedInuser = response; 
       // $window.location.reload(); 
       $state.go('index'); 

      }else{ 
       $scope.error_message = "Invalid username or password."; 
      } 

Thnaks、あなたができる最善かつ最も健全な事は、子供の状態を持っています。たとえば、ログインページとなる「ログイン」という状態があります。ログインするためのシンプルなフォーム。ログインが成功すると、それらを別の状態に送信します。「app.index」と言えます。ここでの 'index'はネストされた状態です。 「app」状態は抽象的で、アプリケーションのレイアウト(navbar、メニュー、およびログインを除いてアプリケーション全体で共有されるもの)を含みます。こうすることで、状態をうまく扱うことができ、javascriptを使って別のページにリダイレクトすることなく、さまざまな "レイアウト"を持つことができます(login.htmlとindex.htmlがあればそうです) 。あなたのルートは次のようになります:

$stateProvider.state('login', { 
    url: '/login', 
    templateUrl: 'auth/login.html', 
    controller: 'LoginCtrl' 
    }).state('logout', { 
    url: '/logout', 
    controller: 'LogoutCtrl' 
    }); 

    //this is the abstract state 
    //index/index.html contains the menus, navbars and general layout 
    //it also contains a subview where you will load your content 
    $stateProvider.state('app', { 
    url: '/app', 
    templateUrl: 'index/index.html', 
    abstract: true 
    }); 

    //app.usersIndex is the index users 
    //it loads on top of app, in its subview. 
    $stateProvider.state('app.usersIndex', { 
    url: "/users", 
    templateUrl: "user/index.html", 
    controller: 'UserIndexCtrl' 
    }) 

あなたのメインファイルであるindex.htmlファイルがあります。そこにあなたのメイン州(ログインまたはアプリ)を読み込むui-viewタグがあります。 appの場合、別のui-viewタグの中に子の状態をロードすることになります。 ui-router nested states

+0

tnxで質問を更新しました – Pillai

関連する問題